07 August, 2009

clutter/Qt/Arthur etc

Dear lazyweb,

I've been looking a while for some info about Clutter which just released version 1.0 and how it fits in the big scheme of things. Yes, I've read their website, but it doesn't help ME much... I've heard comparisons of Clutter and Qt's Arthur but googeling Clutter and Arthur isn't gonna help me either ;-)

I know you could use Clutter in KDE apps, and I've seen that KMPlayer does that. So what are the advantages to that?

I did find this reasonably extensive comparison between Qt and GTK: http://techfreaks4u.com/blog/?p=1021

It is informative but doesn't tell me that much about Clutter, besides it is probably outdated already considering the usual speed of development...

Anyone who can provide me with a (preferably unbiased) writeup?


  1. AFAIK, the problem was that GTK+ didn't have a proper canvas widget (like Qt's QGraphicsView), and therefore Clutter was born.
    I don't know of any pros it has that QGraphicsView doesn't have.

  2. maybe this will bring at least 'some' enlightenment: http://moblinzone.com/top_stories/481/46/37

  3. The main strong point of clutter compared to Qt's canvas (until 4.6) was that clutter has already an animation framework, which is going to be fixed with the introduction of Kinetics.

  4. The comparison isn't between Clutter and Arthur, it's either between Clutter and QGraphicsView, or Cairo and Arthur.

    Some of the main differences between Clutter and QGraphicsView, as far as I can tell:

    - Clutter handles 2D objects in a 3D space, whereas QGraphicsView uses 2D objects in a 2D space -- albeit you can transform them in all kinds of ways to make them look 3D (see also: WolfenQt).

    - Clutter is completely tied to OpenGL; it renders via OpenGL, and nothing else, whereas QGraphicsView has multiple backends (afaik, by default it renders into a QWidget with Arthur which in turn uses x11, raster painting, opengl, or whatever, depending on Qt's graphics system, or you can make it render into a QGLWidget to force OpenGL). On the one hand, Clutter has better support for advanced OpenGL things like shaders; on the other hand, you can use QGraphicsView both with OpenGL and without it.

    - QGraphicsView is tied to Qt much more closely than Clutter is to GTK+. This means that on the one hand, Qt has better integration with the various other things in Qt; while on the other hand, you can use Clutter without GTK+ if you like (indeed, you can use Clutter-Qt if you don't mind the API mismatch).

  5. Good question, I've been wondering that myself. And very nice to see the answers here. It'd be great if someone would write a blog entry (on planet) about Qt and clutter, or more specifically, what KDE's answer to a gnome-clutter desktop environment would be.


Say something smart and be polite please!