WebGL Picking Pipeline
Benchmark Suite
A reproducible measurement harness for the WebGL hit-detection pipeline. Instruments gl.readPixels cost under varying GPU load, fragment-shader complexity, framebuffer size, async-vs-sync readback, and concurrent main-thread work. Runs entirely client-side. No analytics, no telemetry, no external resources. View Source shows the entire suite.
Read the memo
Cross-platform findings, methodology, and recommendations for framework authors and library maintainers.
/research/picking-pipeline →Raw data
17 runs · 9 platforms
Markdown files, one per benchmark run, with environment fingerprint and trimmed statistics.
/labs/picking-benchmark/data →Source on GitHub
MIT licensed. Issues, PRs, and additional platform data welcome.
github.com/bitmosh- Draw-call scaling
- Framebuffer size impact
- PICKING_MODE bailout
- Async readback concurrency
- Realistic graph simulation
How it works
Click Run benchmark now and a tab opens with the suite. It detects your WebGL2 context, GPU vendor and renderer, and CPU concurrency, then runs five test groups with warmup discards and trimmed statistics. Results render in tables on the page. Closing the tab discards everything.
No data leaves your browser unless you explicitly choose to share results. The suite has an Email results to bitmoshbutton that copies the markdown to your clipboard and opens your mail client — you control whether to send, and what to redact, before the message goes anywhere.