2006/11/16

Debunking an anti-vector art argument

There’s been some recent discussion on Mac OS X’s upcoming resolution independence. I’ve been interested for a while in this topic, but never managed to write about it much. Eighteen months ago Ian Griffiths discussed resolution independence in relation to Mac OS X’s upcoming support and what was already possible in Windows Vista. There’s a couple of good examples in there, for general interest.

A couple of people have chimed in on how you don’t want vector art, mostly because when you shrink it down you don’t get results as high quality as a hand-tweaked bitmap. There are two things here, exactly analogous to font technology. Long story short: you don’t want to shrink down a complex image too much, because you’ll lose detail and the smaller objects in the image will just disappear. Much better to design images for their display size; for example, thickening hairlines as the size decreases.

Over at the Iconfactory, they cover such points with another: vector art takes up more disk space when it’s complex. This is fairly untrue. They use the example of the same image in “vector” PDF and in bitmap PNG, with the higher-quality PDF a whopping 30 times bigger. And opening these files in an image viewer shows that displaying the PDF is far more processor intensive.

Seemingly damning evidence. However, zoom in real close to this image and you’ll see the reason this so-called vector image is so large: you can see by the individual squares of flat colour that it doesn’t use real vector gradients!

You can imagine that if this image is actually storing individual squares of colour at the size shown above (2000% magnification), then the file certainly is going to be enormous!

So what’s the deal? What has happened in this image is that their drawing program has rasterised the gradient into the vector image, resulting in an extremely high resolution texture in the image — resulting in the huge file size and slow processing seen. So in actuality, the image is not a true vector image.

To be a true vector image, the gradients themselves would have to be represented as vectors as well. Vector gradients cannot be as complex as the generated gradients as used in their image, but they are actually vectors. The display technology used to render the gradient would compute only the pixels being actually displayed in their subtly changing colours.

I’d like to conclude by quoting ssp, who has sensible things (as usual) to say:

I do think that using vector graphics in the process of icon design may be a good idea. Working with vector graphics seems to make people think more in terms of large structures than in terms of small details. And thus, for simplicity’s and clarity’s sake, basing an icon design on vector graphics may be a good thing to do.