On Friday, 19 June 2015 at 14:47:10 UTC, Ola Fosheim Grøstad wrote:
On Friday, 19 June 2015 at 14:18:49 UTC, Wyatt wrote:

Do you guys have any real arguments against SVG? It is currently the most useful interchangeformat for 2D vector graphics.

You want reasons I dislike SVG? I can address a few different levels.

It's unbelievably complex even if you reduce it to just the still-graphics parts. This means implementing a renderer it is not even close to trivial (you need to support a huge chunk of CSS, for one thing) and rendering consistency is difficult to get right even in fairly simple situations.[1] Fill rules, path joining, stroke scaling, markers, filters, paint order, the list goes on. It's very byzantine.

It's DOM-based anyway, which means you can't reasonably expect good performance when manipulating it in an editor (it only pays lip-service to the concept of "human readable", so you really NEED an editor) or memory requirements. Even just rendering it for output on a device has poor performance (I don't even know if Nvidia has even bothered putting more work into their OpenGL extension for 2D vectors). Even relatively simple animations in SVG can peg a CPU core.

It only supports linear gradients, which makes it basically useless for artistic work unless you live in a "Modern" bubble. There's no support for variable stroke width. You can only define one stroke and one fill, so if you want to composite those things, you need to do a lot of duplication. On top of that, blending can only be done through filters (which are milquetoast at best). And text in SVG is...ugh, let's not even start.


SVG is somewhat useful if you only need simple diagrams with solid colours and you don't trust PNG for some reason.

-Wyatt

[1] http://tavmjong.free.fr/blog/?p=1257

Reply via email to