After running my benchmark code on the Latest Chrome Canary on Win11 and disabling vsync with unlocked fps, I noticed that WebGPU has around 1/3 the FPS of WebGL. I'm struggling to understand the reason behind this performance difference.
Here is the code snippet:
import * as THREE from 'three';
import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
import Stats from 'three/examples/jsm/libs/stats.module.js';
// Function definitions for setting up scene, camera, and rendering context.
// Geometry creation and animation functions.
export function loadGeometryBenchmark(rendererType, stats0) {
// Main function to set up scene, camera, renderer, create geometry, and animate.
}
I am interested in conducting benchmarks to compare the performance of WebGL and WebGPU in common scenarios. I'm also contemplating whether to continue using the THREE library or build solutions from scratch.
In my attempts to address the performance issue, I experimented with various flags in Chrome settings and ensured that WebGPU hardware acceleration was active. Interestingly, monitoring HWinfo during WebGPU testing revealed an unexpected behavior of increased CPU usage and decreased GPU usage compared to WebGL testing.