The Problem
You test on your M-series Mac or RTX desktop. Everything looks smooth. Then your analytics show a 40% bounce rate and you have no idea why. Sentry says no errors. Datadog says LCP is fine. Google Analytics shrugs.
The problem is invisible: a quarter of your visitors are on integrated Intel GPUs where your scene drops to 8fps, draw calls spike, and textures exhaust VRAM. Standard RUM tools don't measure any of this because they were built for DOM, not for WebGL.
Before & After
Blind to GPU performance. Sentry and Datadog measure LCP and JS errors — not frame rates, draw calls, or VRAM.
Test on one device, ship to thousands. Your M2 Mac runs at 60fps. Your visitors' Intel UHD 620 doesn't.
No device-tier visibility. You don't know what GPU 25% of your audience is using.
Bounce rates with no explanation. Analytics says users leave. You have no idea it's a performance problem.
Dev-time profiling only. stats-gl and Spector.js work in your browser. Not in production.
Performance regressions ship silently. A PR adds 400 draw calls. Nobody notices until conversion drops.
Full GPU visibility in production. FPS distributions, draw calls, texture memory, and shader programs — from real visitors.
Per-device-tier cohort analytics. See exactly how Intel integrated, Apple M-series, and discrete NVIDIA users experience your site.
Know your audience's hardware. GPU vendor, VRAM, core count, WebGPU support — captured automatically per session.
Correlate performance with engagement. Users below 30fps bounce 3x more. Now you can prove it.
Production analytics, not dev tools. Aggregated dashboards across thousands of real sessions. Not a stats panel on your screen.
Catch regressions on deploy. When median draw calls spike after a release, Zalance shows it immediately.
How It Works
Zalance works with vanilla Three.js and React Three Fiber. No build step changes, no config files, no backend setup.
Step 01
npm install @zalance/core — then pass your renderer and API key. The SDK auto-captures GPU info, frame rates, draw calls, and scene characteristics. Under 10KB.
Step 02
Your dashboard shows device cohort breakdowns, FPS distributions by GPU tier, scene characteristics over time, and per-session drill-downs. Filter by environment, date range, or device tier.
Step 03
When a deploy spikes draw calls or crashes FPS on a device tier, you see it immediately. Fix the regression before your users notice — and your conversion rate proves it.
Why Zalance
Standard RUM tools measure LCP, INP, and CLS. Zalance measures draw calls, FPS distributions, GPU tiers, texture memory, and WebGL context events — the metrics that actually matter for Three.js sites.
stats-gl and Spector.js run in your browser. Zalance runs on your visitors' browsers — across thousands of sessions, every GPU tier, every device class. Aggregated into one dashboard.
The client SDK is MIT-licensed and open source. Pass your renderer and API key. Works with vanilla Three.js, React Three Fiber, and WebGPU — no build step changes required.