The new WebGL vs. WebGPU performance comparison example

Just tried the WebGL vs. WebGPU comparison example added in dev on my end (See: #29077).

I was not sure where to put this so let me leave my investigation report so far.

Comparison on Chrome performance profiler

The below is how the comparison look like on Chrome DevTools performance profiler (Alienware X16 R1, Core i9 13900HK, RTX 4070 Laptop).
It seems that Nodes.updateForRender takes CPU time for each render.

Comparison on Microsoft PIX

The below is how profiling results look like on Microsoft PIX (Desktop, Core i7 14700K, RTX 3080. I had to use the different machine because PIX doesn’t work well on my Laptop). It clearly indicates that GPU time on WebGPU is impressive comapred to WebGL.


6 Likes

It is worth looking again at the CPU stats with the PR WebGPURenderer: Avoid using proxy in rendering cycle by sunag · Pull Request #29094 · mrdoob/three.js · GitHub applied (ie uptodate dev).

That patch removes the use of Proxy() objects, and the use of Reflect.* in the normal rendering loop, which reduces CPU time considerably.

3 Likes

Ooooo, I haven’t noticed that Renaud already have reached the same conclusion,

Gotta try the PR, thank you!

After the #29094, The performance has been improved! I believe it still has an window to improve compared to WebGL however.

1 Like