[ubuntu-art] Fwd: Human theme benchmarked

Viper550 gthompson at cogeco.ca
Wed Aug 2 15:02:41 BST 2006

I decided to forward this pretty informing post I got on ubuntu-devel 
this morning, Manu actually made a torture test for GTK themes and 
Engines, and the results are pretty surprising. If you are concerned 
about the speed of our Ubuntulooks engine, you might wanna check it out. 
I am also trying to get him to test out Tropic; which uses the Murrine 
engine, as Murrine is claimed to be the fastest Cairo based GTK engine ever.


-------- Original Message --------
Subject: 	Human theme benchmarked
Date: 	Wed, 02 Aug 2006 15:41:41 +0200
From: 	Manu Cornet <lmanul at ubuntu.com>
To: 	ubuntu-devel at lists.ubuntu.com
CC: 	Federico Mena Quintero <federico at novell.com>

Hi all!

I have been coding a small "torture" application for GTK themes [1],
which mainly does two things: 1) crash test the engine by calling all
the GTK paint functions with unsual parameters and 2) measure the time
the theme takes to create/map/expose/resize/destroy widgets (with help
from Federico's widget profiler's infrastructure).

While this was mainly made for the OLPC theme (work in progress), I
thought you might be interested by how the Human theme performs with
this benchmark. There aren't any real surprises, but you might find this
report useful anyway.

The full report is available as a spreadsheet [2]. Before writing a
short analysis, a few disclaimers:

* I tried my best to make the testing conditions as stable as possible:
same computer (of course), same programs running in the background,
tests performed within a small time window, etc.

* The different time measures correspond to the few important events in
a widget's life: create, map, expose, destroy. The "expose with resize"
corresponds to resizing the widget a lot of times (from a very small
size to a very big size) and measuring the expose time for each size.

* Each cell of the document is an amount of time (in seconds) averaged
from about 80 iterations of the same event, on the same type of widget.

* Absolute time values aren't that useful, but ratios are more

Okay, so a few observations:

* Create: pretty much the same for all themes, within each type of
widget (ratios ~ 1).

* Mapping a widget is always a bit slower for Human than for Clearlooks
(average ratio of 1.37, all values being close to this average).

* Destroy is always slightly (about 30 %) faster on Human than on
Clearlooks, but still slower than HighContrast. Destroy time are pretty
much the same between OLPC and Human.

* Expose is between 2 and 3 times slower with Human than with
Clearlooks, and also slower than the OLPC theme.

* Expose with resize is the most CPU-consuming task, and therefore
probably yields the most significant results. Human is twice slower than
Clearlooks (but still 35 times faster than OLPC -- OLPC definitely has a
problem with resizing right now). Here, the details are interesting:
Human is just a little slower than Clearlooks on most widget types (1.1
or 1.2 ratios), but much slower on some particular ones: GtkProgressBar
(5.5 times slower), GtkButton (5.5 as well), GtkNotebook (2). I'm not
very familiar with the Human theme's code, but these appear to be the
widgets that differ the most (visually -- glossy look) from Clearlooks,
so it probably won't be a surprise that they take more time to draw
(although 5 might be a big higher than expected).

Hope this was useful :)



[2] http://www.manucornet.net/pub/Themes_performance.ods

ubuntu-devel mailing list
ubuntu-devel at lists.ubuntu.com

More information about the ubuntu-art mailing list