Closed Bug 1818400 Opened 1 year ago Closed 1 year ago

Optimize primitive dependency checks in picture caching.

Categories

(Core :: Graphics: WebRender, task)

task

Tracking

()

RESOLVED FIXED
112 Branch
Tracking Status
firefox112 --- fixed

People

(Reporter: gw, Assigned: gw)

References

Details

Attachments

(1 file)

No description provided.

The main goal of this is to fix an implementation detail where the
WR code had to read every primitive in the tile even when checking
if a small sub-tile was valid (as the advance amounts of the
primitive dependency array vectors was stored in each primitive).

However, this patch itself is quite a significant optimization, it
improves displaylist_mutate by ~16%.

Instead of maintaining separate arrays for each dependency, use
a single byte array and use peek-poke to store these dependencies.

This simplifies the code for comparing dependencies, and makes the
traversal of sparse index buffers of the primitive array much faster.

Assignee: nobody → gwatson
Status: NEW → ASSIGNED
Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bd35a3c3f267
Optimize primitive dependency checks in picture caching. r=gfx-reviewers,ahale
Blocks: 1811978
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 112 Branch
Blocks: 1823579
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: