Open Bug 1839483 Opened 1 year ago Updated 1 year ago

On macOS, canvas initialization is slowed down by OpenGL symbol lookup

Categories

(Core :: Graphics: CanvasWebGL, defect)

All
macOS
defect

Tracking

()

People

(Reporter: mstange, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Profile: https://share.firefox.dev/46gXcVM (first iteration of Perf-Dashboard sp3 subtest)

We still look up OpenGL symbols on macOS every time we initialize a GLContext. This slows down canvas initialization in a way that affects speedometer3 scores. It also slows down opening new windows.

For example, on this super-fast M1Max, the first Render-async step on the Perf-Dashboard sp3 test is slowed down by 10ms due to GL symbol lookup.

We've previously GL symbol resolution in bug 1341913, but I'm not sure that the concerns brought up there apply to macOS.

FYI - there is some discussion about pulling canvas initialization out of the measured time in https://github.com/WebKit/Speedometer/pull/244#issuecomment-1598720347. This is because it's only happening the first iteration per tab on Chrome and so creates inconsistencies across runs (AIUI it's a similar situation for us, though I don't know if it's per-tab or per-process). Obviously even if that does end up happening, improving perf here would still be beneficial (just likely wouldn't affect the benchmark score much).

The severity field is not set for this bug.
:jgilbert, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(jgilbert)
Severity: -- → S4
You need to log in before you can comment on or make changes to this bug.