The same deterministic scenes built in three engines, measured frame by frame on WebGPU and WebGL2 in Chrome, Safari and Firefox. Every scene renders identical geometry, lights and camera at 1920×1080 with 4× MSAA and ACES tone mapping; the harness owns the frame loop and times each engine through the same WebGPU instrumentation.
CPU time per frame for each engine in Chrome (Dawn), Safari (WebKit) and Firefox (wgpu). CPU time is the one metric every browser reports identically — Safari caps the frame rate at the display refresh and Firefox's GPU timestamps are disabled (see methodology). Mid-ladder level for each scenario, current backend and path.
WebGPU calls per frame recorded by the harness's probe (not the engine's own counters) for 1,000 animated meshes, plus live GPU memory from every buffer and texture the engine allocated.
Shipped JavaScript for the smallest lit-cube app (tree-shaken, minified, brotli) and the time from navigation to the first rendered frame.
Brotli-compressed, initial chunks of a minimal WebGPU app.
Frame 60 of each scene in Chrome on WebGPU, captured by the harness. Identical data in, so any visible difference is the engine's lighting model or defaults.
What each engine offers on WebGPU today, as used to build this benchmark.