WebGL aquarium - Firefox much slower than Chromium/Edge
Categories
(Core :: Graphics: CanvasWebGL, defect)
Tracking
()
People
(Reporter: 08xjcec48, Unassigned)
References
(Depends on 1 open bug)
Details
Attachments
(1 file)
|
43.69 KB,
application/json
|
Details |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0
Steps to reproduce:
- Go to https://webglsamples.org/aquarium/aquarium.html
- Set it to 20000 fish
Actual results:
Edge: 60 fps
Firefox: 33 fps
Both browsers have uBlock Origin with the same selection of lists.
Updated•1 year ago
|
Comment 2•1 year ago
|
||
Looking at the profile, I think the way we do WebGL remoting (content processes sending IPC messages to the GPU process) is probably responsible for all of the difference in observed performance here, whereas chromium-based browsers run the OpenGL ES calls in the content processes (i.e. every content process is a GPU process), we do it remotely to avoid giving the content processes access to the GPU (a security/performance tradeoff).
Comment 3•1 year ago
|
||
chromium seems to use CommnadBuffer to transafer GL calls to GPU process. Client seems to use GLES2Interface. Actually GLES2Implementation emulates GLES2 over command buffers
Comment 4•1 year ago
|
||
I'm seeing even larger difference with 30,000 fish using 5700x/6700XT:
Edge: 80 fps
Nightly: 29 fps
Nightly with Angle disabled: 44 fps
Comment 5•9 months ago
|
||
Here are profiles from Bas:
Chrome
Firefox
They suggest to me our WebGL serialization is a lot more expensive than Chrome's is.
Two thing that stand out:
- We spending a lot of time shared_ptr incRef/decRef (presumably because it's atomic)
- We spending a bunch of time zero filling on demand:
KiPageFault. Presumably, because we're allocating a bunch of fresh buffers every frame.
Comment 6•7 months ago
|
||
Just an update from my test last year after 1976241 which was reported to increase fps by ~20%.
Now I'm seeing with same config:
Edge: 20 fps (-60 fps regression)
Nightly: 33 fps (+4 fps, though it was ~32 before 1976241)
Nightly with Angle disabled: 45 fps (+1 fps, though it regressed to ~43 from other changes)
Description
•