Human theme benchmarked
gthompson at cogeco.ca
Wed Aug 2 14:55:00 BST 2006
Manu Cornet wrote:
> Hi all!
> I have been coding a small "torture" application for GTK themes ,
> 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 . 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 :)
>  http://www.manucornet.net/pub/Themes_performance.ods
I'm going to forward this data to the art team, this may be valuable
information for deciding what to do about Human for Edgy (And the
directions we will be taking it in). I suggest you try benchmarking
Tropic (my theme), as it uses the Murrine engine, which is claimed to be
the fastest Cairo based engine around...
More information about the ubuntu-devel