Closed Bug 1519747 Opened 2 years ago Closed 2 years ago

Split culling pass from primitive preparation in webrender

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: gw, Assigned: gw)

Details

Attachments

(1 file)

It turns out that the primitive dependency calculation for picture caching ends up having to do almost the same work as the visibility and clip chain generation code.

However, we don't want to run all the primitive preparation code up front, since we can skip that for valid tiles.

We should split the current prepare pass into a visibility pass and a preparation pass. This will allow picture caching to be much faster in CPU time (by reducing work). It also opens up the possibility of dirty regions instead of a single dirty rect. Finally, it unblocks the work needed to fix an invalidation bug that occurs when scrolling + a new display list arrives.

Assignee: nobody → gwatson
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b7f7558083b2
Split primitive preparation into a separate culling pass. r=kvark
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.