- From: "Manu Cornet" <manu cornet gmail com>
- To: performance-list gnome org
- Subject: Make'em suffer!
- Date: Wed, 2 Aug 2006 22:44:49 +0200
I have been writing, with the precious help of Federico, a small
application to benchmark and crash test GTK themes: the "GTK Theme
Torturer" . It was first aimed at testing and profiling the OLPC
theme, but it was designed to test and make all GTK themes/engines
suffer. A lot.
Everybody loves screenshots, so here they come first:
Okay, so it mainly does two things:
* For each of the most common widget types ,
redraw/resize/create/destroy the widget many, many times (you can
adjust the number of iterations with the "Torture level" slider, hin,
hin). The torturer will provide, for each widget type, a detailed
report of time measures it has done (thanks to Federico's widget
profiler infrastructure) for widget creation, mapping, expose, etc.
With this torture test, it is also easy to detect memory leaks since
the widgets are created/destroyed lots and lots of times.
* Call each of the existing GTK paint functions (which the engines
implement themselves) with unusual parameters (and even, with all
queerly possible weird combinations of strangely unusual parameters),
to make the engine crash. Of course, the report is detailed enough so
that you can see which set of parameters caused the crash, if any.
Earlier today, I posted a report (sent to people at OLPC  and
Ubuntu ) with benchmarks of several GTK themes: OLPC, Clearlooks,
Human (Ubuntu's) and HighContrast. The benchmark itself is available
as a spreadsheet . It has time measures and ratios between themes;
see also the two emails ( and ) for a short analysis.
Hope this app will be useful to someone. Of course, don't hesitate to
send me feedback, especially bug reports and benchmarks for your
favorite themes and, most important, don't forget to make them
*suffer*, hin, hin.
 You can get a tarball at
 If you need more, just ask and I'll add them faster than you can
say "GTK Performance List".
[Date Prev][Date Next
] [Thread Prev][Thread Next