Mobile/BostonBrainstorm/PanZoom

From MozillaWiki
Jump to: navigation, search

Panning &Zooming

  • Potential Causes
    • Root cause: Texture upload (we do it synchronously, and too much of it)
  • Causes of too much texture upload:
    • Pixel-aligned scrolling - we need to verify that we are doing the correct thing here. (if not, it means we will constantly redraw the whole page when scrolling)
    • Display list issues where we're not able to use retained layers, because of the frames in the retained layer changing. (unsure, but same consequence as above - whole page redraws while scrolling)
  • Short Term:
    • Figure out why we're repainting all the time
    • Determine why desktop is better (zoom?)
    • We currently upload the entire displayport. Why can't we be more intelligent about what we do here? (tile prioritization?)
    • Eideticker (check panning jank tests, write more/better tests)
  • Long Term (8 months):
    • Fix the issues identified
    • Special display items (images, gradients)
    • SurfaceTexture?
  • Things that can be done tomorrow:
    • Check pixel alignment test skip line
    • Check out what the status of Benwa's tile priotization patches are.
    • Check with Matt Woodrow to see if dlbi will help us with repainting all the time
  • Things that could be done this week:
    • Invalidation tests
    • Is this still important?
    • Yes. We are currently janky on panning and this may be causing us to lose/not retain users.
  • How does this relate to ADIs?
    • More people will use the browser if it's better. If we do well here, we can vastly surpass performance on the gingerbread stock browser, the ICS/Jellybean stock browser, Chrome, and perhaps even iOS Safari.
  • Relevant bugs:

bug 751629 - Split tile upload into multiple transactions (upload progressively/asynchronously)
bug 681192 - Give scrolling APIs a flexible "allowed scroll destination range" and use it inside Gecko
bug 539356 - Replace Invalidate() calls in reflow with display list analysis
bug 771154 - Large amount of over painting on some pages on fennec
bug 781516 - Fennec invalidation regression on Nightly