[cairo] Re: [Mesa3d-dev] another point in the Glitz paper

Keith Packard keithp at keithp.com
Thu Apr 22 11:09:32 PDT 2004


Around 10 o'clock on Apr 22, Jon Smirl wrote:

> Isn't this an example of a fundamental performance problem in the Cairo API.
> Cairo allows non-simple polygons. I agree that this is definitely simpler for
> the programmer but it doesn't efficiently accelerate.

Not only does it allow non-simple polygons, it also allows cubic splines
whose tesselation depends on the transformation matrix in place at the time
of rasterization.  That means you can't (generally) pre-tesselate and then
render under different transformations.  Even tesselation of polygons
depends to a small extent on the transformation; the coordinates are all
converted to device space before tesselation where we (will?) use John
Hobby's line intersection algorithm.  That algorithm depends on the
coordinate space precision.

However, I don't think it's a 'fundemental' performance problem, it's just
an issue of whether cairo could usefully expose additional interfaces for
applications to separately utilize the tesselation and polygon
rasterization code. cairo already exposes a callback-based API to walk
"flattened" paths; adding addtional APIs that provide and accept lists of
simple polygons would not be a huge leap.

-keith


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20040422/7bdd6aae/attachment.pgp


More information about the cairo mailing list