agg vs cairo in gnash

Behdad Esfahbod behdad at behdad.org
Tue Feb 19 10:27:53 UTC 2008


On Tue, 2008-02-19 at 10:57 +0100, Patrice Dumas wrote:
> On Tue, Feb 19, 2008 at 03:03:36AM -0600, Callum Lerwick wrote:
> > 
> > On Mon, 2008-02-18 at 15:42 +0100, Patrice Dumas wrote:
> > > > I don't think anyone cares quite that much about agg anymore ;)
> > > 
> > > I guess that the gnash maintainer in OLPC cares, maybe the former owner
> > > also cares (though it is not that clear).
> > 
> > It appears gnash can use agg or cairo, but the developers prefer agg. Is
> > there a reason for this? (Apparently there's an OpenGL renderer too)
> > Everything else in the universe has been moving to cairo, why do we need
> > a duplicate project? I suppose its because agg is C++ and apparently so
> > is gnash. Still, bleh.
> 
> The main reason why there is only an agg renderer is that the cairo
> renderer is not finished, certainly because there is nobody to finish
> it. Also the author of the agg renderer seem to be very happy with agg
> and always points out that it does all the relevant optimization. I
> don't think that the reason is that it is in c++. gnash is used in
> embedded devices, maybe it has less dependencies overall (though cairo
> hasn't that much dependencies). Also is cairo able to draw on the
> framebuffer?

Agg is inherently more suited for Flash rendering that cairo currently
is (and possibly ever will be).  The two simply have different goals:
cairo's goal is simplicity and user friendliness while agg's is
flexibility and speed.

Cairo's rendering model is simply suboptimal for rendering Flash (where
the whole scene data is available at once, instead of incrementally).
Agg on the other hand, lets one build custom pipelines, selecting the
most suitable rasterizer, etc.

This has been discussed on cairo list numerous times.  This is not to
say that cairo can't be used to render Flash.  That's obviously
possible, as swfdec is doing it.

-- 
behdad
http://behdad.org/

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759




More information about the fedora-devel-list mailing list