Closed Bug 1574226 Opened 5 years ago Closed 2 years ago

Reduce blitting caused by backdrop-filter

Categories

(Core :: Graphics: WebRender, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: cbrewster, Unassigned)

References

Details

To compute a filtered backdrop, we currently render the backdrop to an intermediate surface and later blit it to the backdrop root.

This isn't ideal in cases where a navbar has backdrop-filter. Usually this means the entire page (excluding the navbar) forms the backdrop which will then cause a very large blit to the backdrop root.

We could potentially compute the filtered backdrop using a readback which would no longer require rendering the backdrop in its own intermediate surface. This is very similar to how mix-blend-mode works. The tricky part is handling filters or filter chains that require multiple passes.

I haven't done any detailed performance profiling, but on pages with many backdrop-filter effects, it looks like we spend a lot of time in the brush_image shader which is presumably due to excess blitting.

No longer blocks: 1573963
Blocks: 1578503
Type: task → enhancement

This is no longer an issue with the updated implementation.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.