Open Bug 1906325 Opened 2 years ago Updated 1 year ago

4.28 - 2.3% google-slides LastVisualChange / google-slides LastVisualChange + 5 more (OSX, Windows) regression on Tue June 25 2024

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox127 --- unaffected
firefox128 --- unaffected
firefox129 --- disabled
firefox130 --- disabled
firefox131 --- disabled

People

(Reporter: aesanu, Unassigned, NeedInfo)

References

(Regression)

Details

(Keywords: perf, perf-alert, regression)

Perfherder has detected a browsertime performance regression from push beec388d4b0e6a50ac243ed86c0e3f1f48cbe744. As author of one of the patches included in that push, we need your help to address this regression.

Regressions:

Ratio Test Platform Options Absolute values (old vs new) Performance Profiles
4% google-slides LastVisualChange windows10-64-shippable-qr bytecode-cached fission warm webrender 1,568.57 -> 1,635.70 Before/After
3% google-slides LastVisualChange macosx1015-64-shippable-qr bytecode-cached fission warm webrender 1,383.48 -> 1,427.54 Before/After
3% google-slides LastVisualChange macosx1015-64-shippable-qr cold fission webrender 2,395.85 -> 2,468.42 Before/After
3% google-slides LastVisualChange macosx1015-64-shippable-qr bytecode-cached cold fission webrender 2,422.63 -> 2,494.37 Before/After
3% google-slides LastVisualChange macosx1015-64-shippable-qr fission warm webrender 1,889.30 -> 1,944.58 Before/After
2% google-slides LastVisualChange windows10-64-shippable-qr bytecode-cached cold fission webrender 2,620.79 -> 2,683.86 Before/After
2% google-slides LastVisualChange windows10-64-shippable-qr bytecode-cached cold fission webrender 2,622.25 -> 2,682.45 Before/After

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests. Please follow our guide to handling regression bugs and let us know your plans within 3 business days, or the patch(es) may be backed out in accordance with our regression policy.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a sheriff to do that for you.

You can run these tests on try with ./mach try perf --alert 1025

For more information on performance sheriffing please see our FAQ.

Flags: needinfo?(ahale)

Set release status flags based on info from the regressing bug 1896503

I have a guess that this is partially clipped rects which I'm not handling elegantly in get_surface_rects in WebRender at this time, so I am planning to start optimizing that function on Monday, which should also address Bug 1905611.

It could also be the extra picture copy the SVGFE code does if it needs to crop the final subregion, which I could address by analyzing the DAG backwards to find exact subregions needed as input for each node, rather than only forwards as it does now, but that is a higher risk change to explore.

Severity: -- → S3
Depends on: 1905611

Set release status flags based on info from the regressing bug 1896503

:ahale, next week is the final week of beta for Fx129. Do you plan on fixing this in time for release?
https://whattrainisitnow.com/release/?version=129

The feature is controlled by a pref that is true only in nightly (at least after a fix in https://phabricator.services.mozilla.com/D215720 ) so I'm not sure it's relevant to beta.

I have a fix out for review that may fix this performance regression while also fixing a regression with rendering resolution on large stacking contexts https://phabricator.services.mozilla.com/D216637

Flags: needinfo?(ahale)

Note that this should be faster as of https://phabricator.services.mozilla.com/D216637 but it may still regress performance as there is one more copy I want to optimize away in a follow-up.

Flags: needinfo?(ahale)
You need to log in before you can comment on or make changes to this bug.