Inkscape Wiki

draw freely
Download Now!
Open Source Scalable Vector Graphics Editor
 


I(njh) have built cairo and python-cairo. My thoughts:

Cairo is a well thought out API. Not surprising as it has cherry-picked the best parts of postscript whilst using hind-sight to transform into a simple immediate mode API.

Cairo is currently very slow. Unless the python bindings were incredibly badly thought out (unlikely, as they are essentially the same as used in python-gtk2) cairo is slower than libart on a wet cup-day race.

Cairo has big names behind it, such as Owen Taylor, Keith Packard and Graydon Hoare who have each demonstrated they can follow through, so I think in the long run we must use cairo. But at this point, I would argue for CPlusPlus first.

--

One of the obvious things still missing from cairo is a good way to do radial gradients. Once we get that worked out, I'm guessing cairo should be sufficient for most of what inkscape wants to do.

Note that we also need excentric radial gradients, see e.g. samples/orav.svg in the distribution. --bb

Other advantages of cairo is that it supports multi-device output. Today it can target X drawables, image buffers, and rasterized PostScript . An OpenGL backend has also been implemented. Other backends are in progress. So, things like getting high-fidelity printouts from inkscape should be very easy with cairo.

As for speed, cairo has not been optimized much at all yet. But the architecture gives lots of room for improvements as it can take advantage of device-specific acceleration, (ie. through the Render extension, OpenGL , etc.). One thing that we haven't done much of yet is profiling, so if you've got benchmarks you'd like us to look at, please let us know.

--Carl Worth 2003-12-11

-- Has anyone considered the AntiGrain library? The output is very high quality., but I am not sure how suited it would be for interactive graphics... although clever use of caches could help this. It seems to have all of the necessary functions required for SVG rendering.