this post was submitted on 22 Mar 2025
20 points (100.0% liked)
Programming
19122 readers
117 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A random suggestion would be to draw to multiple canvases, and use a CSS animation for the delay.
Also not sure if you are already doing this but it might be more peformant to use the raw buffer instead of draw functions.
Alternatively you could look into webgpu, it is ment for these kind of things.
I’ve thought about setting whole ‘images’ inside the canvas at once, but that would probably ruin the pixel-by-pixel style OP was going for. Do you have a suggestion how that could be maintained while not drawing every pixel individually?
All the calculations could be done before hand and stored and then the only thing left in the delayed draw is to set the buffer.
I haven't looked at the code yet so not sure how much if any it will save though.
Could also group pixels that are far away from eachother into a single call, while a compromise i think it will maintain the effect.