[maemo-developers] [maemo-developers] 2D Library, Vector Library or similar.

From: Carl Worth cworth at cworth.org
Date: Wed Nov 22 18:35:47 EET 2006
On Wed, 22 Nov 2006 12:54:54 +0000, "Martin Guy" wrote:
> > In another thread, about gnash, they mentioned moving to agg for its
> > lightweightness. How do these two compare? Eg. do you think they could
> > have moved to cairo as well?
...
> To be fair, cairo's site says that now that they have the
> functionality they are working on speed, but at present AGG wins hands
> down.

There was a Summer of Code project this year (for Mozilla) in which
someone implemented a new backend for cairo that's implemented with
AGG. They were hoping it would be a lot faster than cairo's image
backend, but so far it hasn't appeared to make a huge difference.

We are currently in the process of improving cairo's performance, and
we're putting out new snapshots every week or two. For example, you
can see some n770 performance numbers for our latest snapshot here:

http://lists.freedesktop.org/archives/cairo-announce/2006-November/000053.html

As AGG is all software, I fully expect that we will be able to get
cairo to take advantage of any algorithm techniques it is using so
that cairo's software backend is just as fast. I'm planning for that
work to be in place by the cairo 1.4 release planned for January 2007.

Meanwhile, cairo has an architecture that isn't restricted to just
software. So if a platform has some video acceleration capabilities,
(made accessible through the X Render extension or OpenGL), then
cairo-using applications can take advantage of that by changing only
the surface-creation code, (which selects which of cairo's backends to
use), and not any rendering code.

Finally, a primary design goal of cairo has been to provide an
easy-to-learn and fun-to-use API. I think we've been largely
successful on that. AGG has taken a very different approach, where as
a design goal Maxim has not written any API at all. Instead, AGG
provides a collection of different algorithms that one can piece
together to form a rendering pipeline. This provides an awful lot of
flexibility, but at some cost in ease of use.

I hope that's helpful. When reading the above, please filter out my
bias as a primary author and maintainer of cairo if possible.

-Carl

PS. As a final note, there are licensing differences. Cairo is
available under simultaneous LGPL and MPL licenses. Previous versions
of AGG where available under a liberal (MIT-like) license, but the
most recent version is available under the GPL, (though the change
wasn't announced on the mailing list and there is some confusion there
from users as to what the motivation for the change was).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.maemo.org/pipermail/maemo-developers/attachments/20061122/ae70114f/attachment.pgp 
More information about the maemo-developers mailing list