Closed Bug 1522758 Opened 5 years ago Closed 5 years ago

Optimize drawing axis aligned clip rectangles into clip masks.

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: gw, Assigned: gw)

References

Details

Attachments

(1 file)

When a primitive has a complex transform, we currently (may change in future!) need to draw a clip mask if that primitive is affected by any axis-aligned clips.

However, clip mask drawing is relatively slow in the current form (also may change in future!).

With a small amount of CPU work, for the common case, we can split the clip mask area into tiles and eliminate drawing the clip mask in most of those tiles, where we can establish that the clip mask can't possibly affect that tile.

This can give a very significant GPU performance win on some pages. Even though better solutions probably exist, this is an easy win now that only requires a small amount of code.

Assignee: nobody → gwatson
Blocks: 1521015, 1504590
Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8e87ea84e5df
Optimize drawing axis aligned clip rectangles into clip masks. r=kvark
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: