Closed Bug 1523228 Opened 9 months ago Closed 9 months ago

Use down scaling more often to avoid blurs on very large blur radii.

Categories

(Core :: Graphics: WebRender, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox66 --- fixed
firefox67 --- fixed

People

(Reporter: gw, Assigned: gw)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

The current WR blur implementation applies a series of downscaling passes before running the blur shader. This reduces the overhead of the blur shader when there is a large blur radius.

Once the size of the target is small enough, the blur shader is invoked. This is currently a threshold of 128 pixels. We used this previously because (a) blurs on a target that size are likely to be fast (b) we don't want to allocate too many render target textures and waste GPU memory.

However, (a) is not true - pages that use a very large blur radius (~300px) are still very slow on a target of that size with the current blur shader, even on a small target. (b) is also less of a concern now - we allocate render targets of more appropriate size, and recycle these better.

So we can afford to apply downscaling more aggressively for very large blur radii. This gives a significant performance win on pages that use huge blurs.

Assignee: nobody → gwatson
Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/04def1859392
Use down scaling more often to avoid blurs on very large blur radii. r=emilio
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67

Comment on attachment 9039475 [details]
Bug 1523228 - Use down scaling more often to avoid blurs on very large blur radii.

Beta/Release Uplift Approval Request

Feature/Bug causing the regression

Bug 1521015

User impact if declined

Slow frame rate on sites using blur

Is this code covered by automated tests?

Yes

Has the fix been verified in Nightly?

Yes

Needs manual test from QE?

No

If yes, steps to reproduce

List of other uplifts needed

None

Risk to taking this patch

Low

Why is the change risky/not risky? (and alternatives if risky)

This change only impacts WebRender. We want to land it in beta so that the testing we get on beta 66 and release 66 matches 67 as close as possible.

String changes made/needed

Attachment #9039475 - Flags: approval-mozilla-beta?

Comment on attachment 9039475 [details]
Bug 1523228 - Use down scaling more often to avoid blurs on very large blur radii.

Support for webrender experiments on 66, adds more tests.
OK to uplift for beta 6.

Attachment #9039475 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.