Tuesday, May 24, 2005

SVG Performance

There have been some complaints about the performance of our SVG-based apps (mostly from Mac users). I tried some basic things to see if I could tell where any kind of performance hit was coming from. First I tried an Atlas map that was simpler than the ones we've been using. This definitely made a difference in performance, but things were still not "speedy." Next I tried using some built-in SVG animation on the more complex map to see if it performed any better than scripting-based animation. It was not a pretty site with the normally "smooth" animation degrading to a jumpy, stuttery mess.

I've come to the decision that the main hinderance on performance is the SVG viewer itself. I don't know if the slowdown is due to the complexity of the maps produced by Illustrator or to the number of objects that have to be rendered. I'm working on producing a "cleaner" document in hopes that things will run a little smoother.

In the end, though, I think the calculations to produce and modify a complex vector-based graphic are too processor intensive with the current generation Adobe SVG viewer. Perhaps some better hooks into OS graphical subsystems would help, but that's certainly beyond my means. I'll be doing some research to determine if there are some document coding techniques that can be used to improve performance.