Skip to main content
Back to all insights
Creative Dev•April 2024•6 min read

Engineering WebGL & 3D without destroying your Lighthouse score

ZB
ZetasBuild Design & MotionCreative Development

3D on the web is often associated with spinning fans, frozen tabs, and dismal mobile performance. But it doesn't have to be that way if you apply strict technical budgets.

1. Enforce a Triangle & Draw Call Budget

Never drop arbitrary 50MB CAD models into a website canvas. We mandate procedural geometries or compressed Draco-encoded assets strictly capped below 150,000 triangles.

2. Viewport-Aware Canvas Pausing

If a 3D canvas is scrolled out of the active browser viewport, it should stop rendering immediately. Using an intersection observer alongside `frameloop="demand"` preserves battery life and GPU temperature.

3. Graceful Mobile & Reduced-Motion Degradation

On low-powered mobile devices or users with `prefers-reduced-motion`, we reduce particle counts by 60%, disable intensive postprocessing bloom passes, and fall back to static high-resolution renders.

Want to discuss this architecture?

We love geeking out on front-end performance and system design. Let's talk on a call.

Book a project call