Open Bug 748501 Opened 8 years ago Updated 8 years ago

Add tile priority support to TiledLayerBuffer

Categories

(Core :: Graphics, defect)

x86
macOS
defect
Not set
normal

Tracking

()

Tracking Status
blocking-fennec1.0 --- -

People

(Reporter: BenWa, Unassigned)

References

Details

Design: In phase 2 to put tiles into a priority queue using a score function instead of validating them. Then pass the tiles to the derived type which can choose how to validate the prioritized tiles.

This support will let us do priority drawing on the content side and progressive upload on the compositor side.
Depends on: 739679
I would like to contribute at least to the score function; could you point me to the right place in the code?

Ideas:
 1. sort tiles by increasing square distance from a "base point"
 2. use all the data and tricks you can to compute a smart "base point" using user input. In particular:
    - when the user zooms, set the base point to the zoom center
    - when the user pans, set the base point to the intersection of the panning axis with the opposite screen edge (where new stuff is becoming visible).
Right so my initial plan was to land the support in this patch, use a dumb score function (distance from the center, or start with the top left) and assign a new bug to you to implement a better score function.

Feel free to follow along in the mq link as I make progress. I'll ping you once I'm further.
Nominating for blocking. If not priorities, I'd suggest simple progressive upload. The texture upload jank really hurts the user experience of Fennec at the moment.
blocking-fennec1.0: --- → ?
Blocks: 749062
Minusing, this is believed to be too risky for first release.  Added to the 2.0 track bug.  We're going to implement the simpler progressive upload first and assess (bug 750516).  We are also implementing a better test 750507.
No longer blocks: 749062
blocking-fennec1.0: ? → -
Ah, didn't realize progressive upload had its own bug. The blocking ? was for that.
You need to log in before you can comment on or make changes to this bug.