This morning I stumbled upon a little application, metacity-theme-viewer
, which is probably intended as a quick way of testing themes when you're developing them. It takes the name of a theme as an argument and then previews the theme. A nice touch is that it displays the time it takes to draw one window frame, so you can use it to (sort of) benchmark different themes. And that's what I did, for kicks.Method
When you run the metacity-theme-viewer command, you get an output like this:
Loaded theme ''Atlanta'' in 0 seconds
Drew 100 frames in 0.04 client-side seconds (0.4 milliseconds per frame) and 0.176198 seconds wall clock time including X server resources (1.76198 milliseconds per frame)
I ran metacity-theme-viewer on all of the themes three times, one after the other. The values I used on the graph (below) are a simple mean of the three results obtained from the (x milliseconds per frame)
bit. From the data, I'd estimate the error in the times for each theme to be around 2-3%.Results
The graph shows that Bright
are the fastest themes and Esco
is undisputedly the slowest. Also note how the default theme in Ubuntu Feisty (Human
) is over 1ms slower than the default GNOME theme (Clearlooks
Be warned that this is a very unscientific benchmark. I didn't attempt to make sure that the system state was the same for each run of the benchmark; it wasn't carried out on a clean install of Ubuntu Feisty; I don't even know how reliable metacity-theme-viewer's data is.
I don't think that these times matter too much; 2-7ms is pretty insignificant compared to the loading time for most applications. Even if you're dragging the windows around the screen like crazy and we assume that these data represent the minimum redraw time, that's still a range of 140-500 fps (I just took the reciprocal of the times). I should try this with Desktop Effects (Compiz) enabled too.Dedication
I would like to dedicate this post to Coheed and Cambria
, who are shit. It's not music, it's just reading a comic book to the tune of some generic rock music.