cairo confussion

There seems to be a lot of confusion amongst the populace about what cairo actually is. Let me start by explaining what cairo is not.

<b>CAIRO IS NOT:</b>

  • A new GTK+ theme engine

  • A vector image file format

  • Animation in themes

  • Magical eye candy

  • Unique individual widgets
    </ul>

    <b>CAIRO IS:</b>

    • A new, feature rich, set of resolution independent drawing functions, capable of working on top of a number of different technologies.
      </ul>

      That is all. The reason this is exciting for themes is that it supports anti-aliasing, and has programming functions similar to those you would find in any other vector graphics drawing package. This includes multi-stop gradients and paths. It is also exciting because it can make use of different technologies if they exist – such as Open GL and render acceleration. In fact, without any render acceleration it is currently considerably slower than the existing drawing functions.

      HOWEVER – Nothing will use cairo unless it is programmed specifically to do so. cairo is an alternative drawing API (Application Programming Interface), but it has not replaced (yet) the existing drawing api in GTK+, which is still GDK.

      Find out more about the cairo project here: http://www.cairographics.org

2 thoughts on “cairo confussion”

  1. One thing I’d like to know about Cairo is how much faster the software only version is likely to get.

    Any time the issue of speed is mentioned, people seem to do a bit of hand-waving and talk about Glitz and OpenGL and X stuff that don’t actually exist yet.

    In the meantime lots of stuff is being moved over to Cairo and running without hardware acceleration. I know Cairo provides lots of nice stuff that other libraries don’t, but I don’t understand why Cairo is currently so much slower than other software-only libraries at equivalent drawing operations.

    So is Cairo likely to get big speed improvements, or are we going to have to rely on hardware acceleration and non-free drivers to get stuff running at the same speeds we currently do?

    Sorry… this is probably the wrong place for this question, but I’ve been wondering about this for a while now 🙂

  2. Yes, this is something I’d like to know too, since we have to restrict what we can do with our theme engines so that it isn’t horribly slow for people without any hardware acceleration.

Comments are closed.