Skip to content
Andrew Voirol
WorkLogAboutContact
HomeWorkLog

AboutContact

✦ Just one prompt away from figuring it all out.

Saturday, April 4, 2026dot-matrix-globe-build

Float32Array and 60fps: killing the jank

CanvasReactVisualization

The globe was stuttering on every rotation tick — garbage collection pauses. Switched the point storage from a plain array of objects to a flat Float32Array. No more GC pressure during animation. Also made the canvas DPR-aware so retina screens get crisp dots instead of blurry upscaled ones. The render loop runs via requestAnimationFrame now with proper cleanup on unmount. Consistent 60fps with 8,000 points. The difference between "demo" and "ship it" is always the boring performance work nobody sees.

← Previous

Point cloud on a sphere: first render

Next →

The orchestration problem


Andrew Voirol

Builder, hacker, shipper. Currently leaving localhost.

Navigate

WorkBuilder’s LogAboutContactRSS Feed

Connect

X / TwitterGitHubLinkedIn

© 2026 Andrew Voirol✦Just one prompt away from figuring it all out.