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

Carl Worth cworth at east.isi.edu
Thu Apr 22 14:40:42 PDT 2004

On Thu, 22 Apr 2004 13:38:28 -0700 (PDT), Jon Smirl wrote:
> Polygon lists are a better example. I don't see any way to accelerate that
> except in two functions calls, teselate and draw simple. You can't do it in one
> and cache the results, that makes for a memory management mess in the library,

And if we don't do that here, we push that exact same memory management
mess up to higher layers. These are the kinds of issues that cairo is
meant to handle on behalf of application developers.

> and besides how can you tell that the programmer hasn't changed the list?

Because the list can only be modified through cairo function calls.

> Drawing lines is another example. The main API would take vertex arrays. A
> helper lib could record the moveto/drawto and build the vertex array for the
> programmer.

You can have that split today. Just think of OpenGL as the main API and
cairo as the helper lib.

> SVG could definitely use a helper lib that builds vertex arrays. I've watch lots
> of SVG pictures draw because the vector implementation is so slow I can see it
> paint. With vertex arrays and 3D hardware they would draw instantly even with
> 1000s of line segments.

Yup. Again, when you talk about a helper lib here, it sounds to me like
you are describing cairo.


More information about the cairo mailing list