2x-4x Faster Living Noise

Nov 4, 2009

I wasn't quite satisfied with almost 50% CPU for v1 of the Living Noise here, so made some improvements.

The new version runs at 15-20% in low quality and about 30% in high quality..could be better but I tried... :)

The new version replaces the old one here: http://nokola.com/livingnoise

If you don't see the "High Quality" checkbox, please refresh/delete your browser cache.

The source code is updated as well: http://nokola.com/sources/livingnoise.zip

Summary of Optimizations

  • Changed to static threads and event signaling instead of creating threads on every frame
  • Added table lookup instead of division and shifts for blur (this improved perf about 30%)
  • Added "skip step": since most of the screen is black, if the blur finds black pixel, it jumps 8 pixels ahead and if it finds another black pixel, assumes that the line strip was black and does not do anything. To avoid having dots "stick" on the screen, the algorithm uses a sliding window on every Blur() to ensure that all pixels on the screen are verified at some point. (that was significant perf improvement as well)
  • Added artificial frame cap to 90 FPS

Hope you like it!

 

  
blog comments powered by Disqus

nokola.com | Terms | Log in

Recent

About the author

Happy & enjoying life. Software enthusiast.
The opinions I express here and on nokola.com are mine and not my employeer's (Microsoft).
This is the official blog of nokola.com. You can find Silverlight samples, coding stuff, and hopefully other interesting things here.