Open Bug 1207170 (webgl-perf-parity) Opened 9 years ago Updated 2 years ago

[meta] Desktop browser performance parity

Categories

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

Unspecified
Windows
defect

Tracking

()

People

(Reporter: milan, Unassigned)

References

(Depends on 15 open bugs)

Details

(Keywords: meta, Whiteboard: [gfx-noted])

Achieve performance parity on desktop (priority on Windows) with Chrome et al. Different scenarios and hardware configuration pending.
Crazy Low End Option OS: Windows XP GFX Card: Intel HD 2000 Memory: 2 GB CPU: Intel Core 2 Low End Option (a bit more reasonable) OS: Windows 7 GFX Card: Intel HD 4000 Memory: 2 GB CPU: Intel Core 2
Alias: webgl-perf-parity
Should someone 'own' this meta-bug?
Flags: needinfo?(milan)
Whiteboard: [gfx-noted]
When we spin this up, yes.
Flags: needinfo?(milan)
No longer blocks: 1099354
Depends on: 1099354
OS: Unspecified → Windows
Summary: [meta] Desktop performance parity → [meta] Desktop browser performance parity
Jukka, could you connect the recent performance bugs you entered to this bug?
Flags: needinfo?(jujjyl)
Keywords: meta
Version: 43 Branch → unspecified
Items that affect Windows with ANGLE: - https://bugzilla.mozilla.org/show_bug.cgi?id=1329983: Having ANGLE enabled causes a 1.53x slowdown on a WebGL 2 demo. (*) - https://bugzilla.mozilla.org/show_bug.cgi?id=1329988: Roughly 10% of total CPU time in a WebGL 2 demo is spent in transposing 4x4 matrices. (*) - https://bugzilla.mozilla.org/show_bug.cgi?id=1247135: Shader compilation in a WebGL 2 demo takes ~3x time when ANGLE is enabled. (*) - https://bugzilla.mozilla.org/show_bug.cgi?id=1253463: WebGL glBufferData() et al. which change size of a buffer fall off a performance cliff. (even when used with GL_STREAM_DRAW) - https://bugzilla.mozilla.org/show_bug.cgi?id=1331026: When ANGLE is enabled, WebGL 2 gl.blitFramebuffer() is sometimes implemented in software, causing an estimated -66% performance impact - https://bugzilla.mozilla.org/show_bug.cgi?id=1247603: WebGL performance in Sponza by Babylon.js WebGL demo. - https://bugzilla.mozilla.org/show_bug.cgi?id=1223866: Microsoft Edge gets a +112% better score on Unity3D WebGL "Asteroid Field" benchmark. - https://bugzilla.mozilla.org/show_bug.cgi?id=1223869: Microsoft Edge gets a +32.6% better score on Unity3D WebGL "Particles" benchmark. - https://bugzilla.mozilla.org/show_bug.cgi?id=1223870: Microsoft Edge gets a +38.7% better score on Unity3D WebGL "Animation & Skinning" benchmark. - https://bugzilla.mozilla.org/show_bug.cgi?id=1133570: WebGL rendering on 10kCubes sample is 20x slower compared to native. Items that affect Windows without ANGLE: - https://bugzilla.mozilla.org/show_bug.cgi?id=1330022: 16.4% of CPU time in rendering loop for a WebGL 2 demo is lost in gl.vertexAttribPointer() calls. (*) - https://bugzilla.mozilla.org/show_bug.cgi?id=1335587: When ANGLE is disabled on Windows, WebGL compositor stutters and displays old rendered frames from history Items that affect all platforms: - https://bugzilla.mozilla.org/show_bug.cgi?id=1335546: Slim down WebGL API validation? (*) Items that affect OS X: - https://bugzilla.mozilla.org/show_bug.cgi?id=1335553: Most GL functions call CGLSetCurrentContext on OS X, which costs around 5msecs/frame in a WebGL 2 demo (*) Items that affect Linux: - https://bugzilla.mozilla.org/show_bug.cgi?id=1337686: 3.4% of execution time of a WebGL 2/Wasm demo is spent on deleting SharedMemory objects. - https://bugzilla.mozilla.org/show_bug.cgi?id=1337687: 25.4% of compositor thread time is spent running "antifilldot8" algorithm Other: - https://bugzilla.mozilla.org/show_bug.cgi?id=1286265: Develop a MDN documentation site that covers the unintuitive performance pitfalls of WebGL - https://bugzilla.mozilla.org/show_bug.cgi?id=1081887: 2D canvas method .putImageData() is unreasonably slow for dynamic updates. The ones marked with stars are the ones that affect the new Wasm WebGL 2 demos directly, so those are the most interesting cases to look at.
Flags: needinfo?(jujjyl)
These are also relevant: - bug 935315: Import WebGL API directly into Wasm without needing to route via handwritten thunks in JavaScript - bug 1339127: Is there room to optimize the existing JS -> WebGL DOM bindings?
Depends on: 1345312
Depends on: 1347005
Depends on: 1347937
Depends on: 1349799
Depends on: 1222877
Depends on: 1358977
Priority: -- → P3
Depends on: 935315, 1339127
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.