Closed Bug 1901192 Opened 2 years ago Closed 2 years ago

Recycled DataSourceSurface is not uploaded by using DrawTargetWebgl::DrawSurface() in RecordedDrawSurfaceDescriptor::PlayEvent()

Categories

(Core :: Graphics: Canvas2D, defect)

defect

Tracking

()

RESOLVED FIXED
129 Branch
Tracking Status
firefox129 --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

Attachments

(1 external file)

When DataSourceSurface is recycled in CanvasTranslator::LookupSourceSurfaceFromSurfaceDescriptor(), recycled DataSourceSurface is not uploaded by using DrawTargetWebgl::DrawSurface(). See Bug 1900677 comment 11.

Blocks: 1900677, 1899231
Summary: Upload recycled DataSourceSurface by using DrawTargetWebgl::DrawSurface() in RecordedDrawSurfaceDescriptor::PlayEvent() → Recycled DataSourceSurface is not uploaded by using DrawTargetWebgl::DrawSurface() in RecordedDrawSurfaceDescriptor::PlayEvent()
Attachment #9406053 - Attachment description: Bug 1901192 - Force uploading recycled DataSourceSurface by CanvasTranslator and enable the recycling → Bug 1901192 - Force uploading recycled DataSourceSurface by CanvasTranslator

With default gecko, Firefox profiler with canvas2dvideo.

On Linux in CanvasRenderer thread, 70% CPU was used for allocating and destroying DataSourceSurface. on MacOS in CanvasRenderer thread, 50% CPU was used for allocating and destroying DataSourceSurface. It is not good.

https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=a8jLSE-DTp-5_Kkldq9nxw.0&revision=779c6bdf96bdc20abbeca35c76c9ef6c9b65c8fb

With D212903 , the cpu task for allocating and destroying DataSourceSurface was removed. The significant amount of CPU tasks were removed.

https://treeherder.mozilla.org/jobs?repo=try&revision=e045b71f75a9701bec7a03af9e3b9a9be1f66ca3

However, talos' canvas2dvideo score regressed significantly: with default gecko, the CanvasRenderer thread was too slow, slowing down the tick() and WebRender transactions. With default gecko, the current canvas2dvideo score is not valid.

https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=135ab309ef8f2d5039c9403d6c8b7b0eb0882d73&newProject=try&newRevision=c963dd349a2e850b2e7696360c1cf596e83f9df8&framework=1&page=1&showOnlyImportant=1

Depends on: 1901475
Blocks: 1901475
No longer depends on: 1901475
Pushed by sikeda.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b4d3452deb40 Force uploading recycled DataSourceSurface by CanvasTranslator r=gfx-reviewers,lsalzman
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 129 Branch
Regressions: 1905408
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: