Open Bug 1942031 Opened 1 year ago Updated 2 months ago

Bad canvas performance on this example (nokiadesignarchive.aalto.fi)

Categories

(Core :: Graphics: Canvas2D, defect)

defect

Tracking

()

Performance Impact low
Tracking Status
firefox-esr115 --- wontfix
firefox-esr128 --- fix-optional
firefox134 --- wontfix
firefox135 --- wontfix
firefox136 --- wontfix
firefox137 --- wontfix
firefox138 --- fix-optional

People

(Reporter: canova, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: perf, perf:responsiveness, regression)

I was looking at a website and noticed that its performance is pretty bad. When I tried it on Chrome, it's a lot smoother on macOS.

STR:

Actual result: it's very janky.
Expected result: it should be smoother

Here's a profile I captured: https://share.firefox.dev/4ajRHYx
CanvasRenderer thread appears to have lots of activity with some jank markers in the parent process. The website itself doesn't seem to have lots of JS activity.

Lee, do you have thoughts on this? Looks like buffer access patterns are causing a lot of waiting?

No longer blocks: gfx-triage
Flags: needinfo?(lsalzman)

This was regressed by bug 1910138.

Keywords: regression
Regressed by: 1910138

Hm, I initially noticed this issue on macOS. I don't think this is a Windows-only regression.

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

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

The performance issue with acceleration seems to be that it is doing a lot of stroke operations that use dash patterns. By itself, this is not a problem if the draw operations are cached, but because it is continually changing the transform underneath the dashed strokes, it is defeating the caching so that it is regenerating a fallback image for it every time. Performance it would make sense to fall back more completely in such cases if it is overall slower than with acceleration disabled, but that is to be determined.

Blocks: gpu-canvas
Severity: -- → S3
Flags: needinfo?(lsalzman)

The Performance Impact Calculator has determined this bug's performance impact to be low. If you'd like to request re-triage, you can reset the Performance Impact flag to "?" or needinfo the triage sheriff.

Platforms: [x] Windows [x] macOS
Impact on site: Causes noticeable jank
Websites affected: Rare
[x] Able to reproduce locally

Performance Impact: ? → low
You need to log in before you can comment on or make changes to this bug.