I’ve been experimenting with WebGPU and built a benchmark that simulates and renders up to *15,000,000 moving nodes(rectangles)* in real time in the browser.
Each node has its own position, velocity, size, and color. All simulation and rendering happens entirely on the GPU:
• GPU compute shader updates positions
• GPU performs visibility checks
• GPU maintains a visibility counter via atomics
• Indirect draw calls per chunk
• CPU does minimal work (just submits commands)
The demo starts at 50,000 nodes, but you can type any number up to ~15M and reset.
Warning:
This is a GPU stress test. Large node counts may cause slowdowns, thermal spikes, or browser crashes on some hardware.
ajlaston•2h ago
Each node has its own position, velocity, size, and color. All simulation and rendering happens entirely on the GPU:
• GPU compute shader updates positions • GPU performs visibility checks • GPU maintains a visibility counter via atomics • Indirect draw calls per chunk • CPU does minimal work (just submits commands)
The demo starts at 50,000 nodes, but you can type any number up to ~15M and reset.
Warning: This is a GPU stress test. Large node counts may cause slowdowns, thermal spikes, or browser crashes on some hardware.
Demo: https://ajlaston.github.io/Nova-Web/
Code: https://github.com/ajlaston/Nova-Web
I’d be interested in performance reports across different GPUs, browsers, and platforms. Feedback on the architecture is welcome.