
Heh. I seem to have skirted the question deftly. ;-) Here is a more concrete example. This image:
http://troi.hous.es3.titan.com/~rjamison/inkscape/files/dualscreen.png
...is rendered faster in SVG-Cairo than in Inkscape in an apples-to-apples comparison. In other words, in a complete top-to-bottom rendering, Cairo is faster than Inkscape. But of course Inkscape can re-render a cliprect of the image faster than Cairo, which only considers the image as a whole.
So I would expect wonderful things from an Inkscape-Cairo marriage.
Bob
Bob Jamison wrote:
Bryce Harrington wrote:
On Tue, 16 Nov 2004, MenTaLguY wrote:
On Tue, 2004-11-16 at 20:44, Bryce Harrington wrote:
On Tue, 16 Nov 2004, MenTaLguY wrote:
I actually suspect that even current versions of Cairo, used carefully, should prove faster than the livarot-based renderer.
I'm basing the above off of comments from ishmal; he did a rough comparison iirc a couple weeks ago, and found it rendered right but was noticeably slower.
Interesting; what was the test case?
Maybe Bob could speak to this. I think it was timed rendering of a particular file.
Bryce
Well, I haven't really compared the two, but there are some differences. In the Cairo-based application I wrote, whenever there is some change to the SVG file, I want to re-render. Cairo currently only does immediate-mode rendering. This means that the entire drawing must be rendered every time. So in that respect, it is much slower.
However, any implementation of a Cairo backend that we would design would have an SPObject layer on top of it. So in essence we are supplying the retained-mode layer, thus speeding up Cairo exceedingly.
This is the same as the fact that, for example, OpenInventor is much faster than OpenGL, even though it sits atop OpenGL. The idea seems ludicrous until one sees the caching, scene optimization, clipping, etc that OpenInventor adds to the game. OpenInventor adds some intelligence to OpenGL, the same as Inkscape would add intelligence to Cairo.
By the way, Carl Worth is looking for some assistance in updating his SVG->Cairo renderer. Maybe something like our SPObject/Repr trees would do the trick. It would be a good way to contribute back to Freedesktop.org, and also an opportunity to refactor our design.
Also, the Cairo group have been discussing Pangoification of their text rendering, too. That would suit our plans nicely!
Bob