Canvas2D Point-Cloud Museum Experiment with 60 FPS InteractionCanvas2D Point-Cloud Museum Experiment with 60 FPS Interaction
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
I built this to see if I could make a point-cloud museum that moves with your mouse and still stays smooth at 60 FPS without any framework. No libraries. No build steps. Just Canvas2D and a bunch of tiny floating lights.
WHAT I WAS TESTING: I was testing how well I could keep point-cloud rendering alive under constant user motion while keeping the frame rate locked at 60. The system had to handle hundreds of thousands of points updating every frame, and I had to make sure the browser didn’t stutter from garbage collection or event throttling.
THE TECHNICAL SIDE: Everything runs in the browser with Canvas2D. No WebGL. No Three.js. No external dependencies. I wrote custom shaders with GLSL to color and animate the point clouds. I hand-tuned the event loop to avoid frame drops during mouse moves, and used requestAnimationFrame with manual frame pacing to stay at 60. Memory is allocated per object and recycled on demand. No global state leaks. No third-party tracking.
WHAT I LEARNED: The key was not making the math too tight or too loose. Too tight and the browser would freeze. Too loose and the frame rate would drop. I learned to profile frame times, adjust point update rates based on user velocity, and use a simple debounced event handler to keep mouse movement from overwhelming the system. It runs at 60 on an old laptop, and feels buttery on a mid-tier machine.
TRY IT YOURSELF: Open it in your browser, it's hosted live on my JSFiddle. Move the mouse around. Watch how the clouds react. No lag. No freeze. No framework.😊
Senatix's avatar
Senatix Wellness logo
Those particles are looking smooth💯
Samin's avatar
💯
Puffs's avatar
PuffsBD logo
Nice visuals👍
Samin's avatar
🙌
Ayrin's avatar
Captivating UI
Samin's avatar
Thank you🔥
Marisa's avatar
Color palette along with the overall theme design preference is spot on. 10/10 execution
Samin's avatar
I am very much glad you enjoyed it😊
Maisha's avatar
transition feels very responsive and lag free...
Samin's avatar
Thank you😊
Miraz's avatar
Professional, nice work👍
Samin's avatar
Thank you!😊
Vineet's avatar
Holding 60 FPS with no libraries and just Canvas2D is impressive, and the mouse-reactive dust fits the lost-things idea nicely. Did you cap the particle count or batch the draw calls to keep it smooth?
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started