[cairo] Performance OpenGL backend

Chris Wilson chris at chris-wilson.co.uk
Wed Feb 17 09:17:02 PST 2010

On Wed, 17 Feb 2010 12:23:48 +0100, Ralf <mock at cipsoft.com> wrote:
> So can that actually be the case where the opengl backend is slower, 
> when rendering many curves which
> only fill a few pixels in the final picture or am I using the backend in 
> the wrong way ?

No, just the common delusion that OpenGL is a panacea for all ills. In
this case we currently create scan-lines on the CPU and then emit a vertex
buffer containing all the opacities to be composited. Depending on the
overhead and speed of the GPU, it is easily conceivable that simply using
the CPU on local memory will be faster than the offload. Of course, we
wish to improve our algorithms for the more advanced GPUs, so please note
that the OpenGL backend is a work in progress.

If you can share your experience on how you integrated cairo-gl with
Ogre3D, that will be great - and help us reflect on the gl backend api 
before it is frozen. Similarly, if you can profile the bottlenecks on the
-image and -gl (and other backends) that will be very useful as well. One
technique you can use is to record an application trace using cairo-trace,
and submit it for inclusion in cairo-traces so that we can tune cairo for
your workload.

I hope you are having fun with Cairo, and together we can make it better!
Chris Wilson, Intel Open Source Technology Centre

More information about the cairo mailing list