Closed Bug 1927104 Opened 18 days ago Closed 8 days ago

627.86 - 2.16% pdfpaint tiling-pattern-box.pdf / pdfpaint issue14990.pdf + 24 more (Windows) regression on Thu October 17 2024

Categories

(Core :: Graphics: Canvas2D, defect, P3)

Unspecified
Windows
defect

Tracking

()

RESOLVED FIXED
134 Branch
Tracking Status
firefox-esr128 --- unaffected
firefox131 --- unaffected
firefox132 --- unaffected
firefox133 + fixed
firefox134 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: lsalzman)

References

(Regression)

Details

(4 keywords)

Perfherder has detected a talos performance regression from push fe10049200dfa92f958f65b9fc37fef345694b41. 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)
628% pdfpaint tiling-pattern-box.pdf windows11-64-shippable-qr e10s fission stylo webrender 166.42 -> 1,211.29
210% pdfpaint bug1795263.pdf windows11-64-shippable-qr e10s fission stylo webrender 178.94 -> 554.40
190% pdfpaint issue10717.pdf windows11-64-shippable-qr e10s fission stylo webrender 412.76 -> 1,195.48
137% pdfpaint issue8078.pdf windows11-64-shippable-qr e10s fission stylo webrender 1,663.43 -> 3,938.21
102% pdfpaint issue6737.pdf windows11-64-shippable-qr e10s fission stylo webrender 700.31 -> 1,416.96
96% pdfpaint issue16263.pdf windows11-64-shippable-qr e10s fission stylo webrender 2,706.12 -> 5,305.60
68% pdfpaint issue4387.pdf windows11-64-shippable-qr e10s fission stylo webrender 261.41 -> 440.14
41% pdfpaint issue12798_page1_reduced.pdf windows11-64-shippable-qr e10s fission stylo webrender 160.32 -> 226.53
30% pdfpaint issue1597.pdf windows11-64-shippable-qr e10s fission stylo webrender 187.66 -> 243.69
27% pdfpaint issue14982.pdf windows11-64-shippable-qr e10s fission stylo webrender 284.48 -> 362.07
... ... ... ... ...
4% pdfpaint issue1985.pdf windows11-64-shippable-qr e10s fission stylo webrender 136.16 -> 141.48
4% pdfpaint issue16384.pdf windows11-64-shippable-qr e10s fission stylo webrender 182.48 -> 189.48
3% pdfpaint cable.pdf windows11-64-shippable-qr e10s fission stylo webrender 241.47 -> 248.63
3% pdfpaint issue6238.pdf windows11-64-shippable-qr e10s fission stylo webrender 527.79 -> 542.32
2% pdfpaint issue14990.pdf windows11-64-shippable-qr e10s fission stylo webrender 173.10 -> 176.84

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
68% pdfpaint issue6741.pdf windows11-64-shippable-qr e10s fission stylo webrender 11,840.61 -> 3,821.49
47% pdfpaint bug1260585.pdf windows11-64-shippable-qr e10s fission stylo webrender 728.11 -> 385.66
43% pdfpaint issue8076.pdf windows11-64-shippable-qr e10s fission stylo webrender 5,208.92 -> 2,976.35
21% pdfpaint issue16127.pdf windows11-64-shippable-qr e10s fission stylo webrender 676.09 -> 535.43
11% pdfpaint issue17794.pdf windows11-64-shippable-qr e10s fission stylo webrender 252.75 -> 224.05
... ... ... ... ...
2% pdfpaint bug1791583.pdf windows11-64-shippable-qr e10s fission stylo webrender 644.23 -> 630.70

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 all of these tests on try with ./mach try perf --alert 2602

The following documentation link provides more information about this command.

For more information on performance sheriffing please see our FAQ.

If you have any questions, please do not hesitate to reach out to aesanu@mozilla.com.

Flags: needinfo?(lsalzman)

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

The bug is marked as tracked for firefox133 (nightly). However, the bug still isn't assigned.

:bhood, could you please find an assignee for this tracked bug? Given that it is a regression and we know the cause, we could also simply backout the regressor. If you disagree with the tracking decision, please talk with the release managers.

For more information, please visit BugBot documentation.

Flags: needinfo?(bhood)

Assigning to Lee to appease the BugBot, and setting to S2 as a potential performance regression. The combination of regressions and improvements are swingy enough that I'm not sure how to characterize this as a problem or an improvement. Up to Lee.

Assignee: nobody → lsalzman
Severity: -- → S2
Priority: -- → P2

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

I did some work on making tiling-pattern-box.pdf faster in bug 1926668, which deals with repeat sampling modes. There are still some slowdowns related to usage of filters, but those won't be addressed till after this half. There is also some evidence of some readbacks being triggered by some of these test cases that can be slow, but these will take time to fix and shouldn't necessarily represent a blocker to deployment in the short term.

Overall, it is expected that there will be performance churn in pdfpaint test cases due to the diversity of Canvas2D usage as we transition away from Direct2D towards Accelerated Canvas2D.

Marco, it might be worth investigating disabled acceleration for PDF.js on Windows as other platforms do. This, how er, will also be a mixed bag causing some test cases to regress even as it might speed up some others.

Severity: S2 → S3
Depends on: 1926668
Flags: needinfo?(mcastelluccio)
Flags: needinfo?(lsalzman)
Flags: needinfo?(bhood)
Priority: P2 → P3

Calixte, what do you think we should do here? We have some perf improvements and some perf regressions, how do we evaluate overall if it makes sense to keep hardware acceleration enabled or disabled?

Flags: needinfo?(mcastelluccio) → needinfo?(cdenizet)

I agree with Lee: we should disable accelerated canvas too on Windows.
In order to disable this feature, we just pass or not the option willReadFrequently: true when getting the context, hence we choose when we want to disable it or not.
In looking at the improvements, it looks like few of them are just related to our way to downscale some large images, so there is no filter or whatever complex stuff: we just draw some bitmaps on some OffscreenCanvas so in this case there are no reason to not use accelerated canvas.
So disabling acceleration for the canvas used to render a page will help to "fix" the regression and just keep it where we're sure that there is no regression will let us enjoy few improvements.

Flags: needinfo?(cdenizet)
Depends on: 1928106

:calixte/:lsalman any updates on this?
We are tracking this for Fx133 but next week is the final week of beta.
What's the next step here?

Flags: needinfo?(lsalzman)
Flags: needinfo?(cdenizet)

(In reply to Donal Meehan [:dmeehan] from comment #8)

:calixte/:lsalman any updates on this?
We are tracking this for Fx133 but next week is the final week of beta.
What's the next step here?

The issue was resolved between both bug 1926668, and further in bug 1928106 for 134, but it's up to Calixte whether bug 1928106 is worth uplifting to 133.

Otherwise, I am okay with this simply being wontfix/fix-optional for 133, as it's expected to be a mixed bag of improvements and regressions on a testsuite as wide as pdfpaint.

Status: NEW → RESOLVED
Closed: 8 days ago
Flags: needinfo?(lsalzman)
OS: Unspecified → Windows
Resolution: --- → FIXED
Target Milestone: --- → 134 Branch

Bug 1928106 was uplifted to beta

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