Faster SVG Game of Life
Sunday, September 3rd, 2006I recently had the honor of having an image of my black and white Game of Life published in Architectural Design’s “Programming Cultures: Art and Architecture in the Age of Software.” Honestly, I’m not quite sure why I’m in there, but I was flattered nonetheless. I found the content quite interesting and I recommend that issue to you if you’re inspired by the possibilities of computer-generated architecture.
Liz and I moved back to Texas last week, so I had three days to ponder everything you can imagine as we drove through the Southwest in separate vehicles. (As an aside, it is amazingly beautiful from roughly Yuma to El Paso right now due to all the rain they’ve been getting. It’s a nice roadtrip this time of year.) Of course, I got to thinking about the Game of Life and an interesting article I read years ago about a very fast hardware approach to image convolutions. I’ve never been particularly happy with the speed of my SVG Life implementation, but, as is typical for many developers, I never really had the time to explore how to speed things up…until today. The good news is that with a minor tweak of my Bitmap object and an adaptation of the hardware technique, my implementation is about ten times faster. Even better, Opera and Firefox run about twice as fast as IE 6.
And here’s the old version for reference:
The code is still in a little bit of a rough state right now, but I’m happy with the results. I’m pretty sure I could squeeze out a bit more speed, but I guess that will have to wait for another weekend…and hopefully before the next roadtrip.
Enjoy!