Increase the size of the canvas ring buffer.
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox116 | --- | fixed |
People
(Reporter: jrmuizel, Assigned: jrmuizel)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [sp3])
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
When drawing complicated content to canvas the ring buffer will fill up
faster than we can consume which causes us to block on the main thread.
This shows up noticeably on the chartjs SP3 test.
Other browsers don't suffer from this problem:
Safari uses 2MB buffer:
https://searchfox.org/wubkat/rev/a420a9f3f6ab4c8d0c75aae3877d736d66affe36/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
Chrome records into a resizable vector.
In local testing a size of 512Kb was insufficient to avoid blocking but
1Mb was enough. I'm setting it to 512Kb for now in the hope that we can
reduce the recording size and make the replay fast enough that 512Kb wil
be enough.
Assignee | ||
Comment 1•1 year ago
|
||
When drawing complicated content to canvas the ring buffer will fill up
faster than we can consume which causes us to block on the main thread.
This shows up noticeably on the chartjs SP3 test.
Other browsers don't suffer from this problem:
Safari uses 2MB buffer:
https://searchfox.org/wubkat/rev/a420a9f3f6ab4c8d0c75aae3877d736d66affe36/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
Chrome records into a resizable vector.
In local testing a size of 512Kb was insufficient to avoid blocking but
1Mb was enough. I'm setting it to 512Kb for now in the hope that we can
reduce the recording size and make the replay fast enough that 512Kb wil
be enough.
Comment 3•1 year ago
|
||
bugherder |
Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Description
•