A small application to benchmark and crash test GTK themes: the "GTK
Theme Torturer" [1]. 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:
http://wiki.laptop.org/go/GTK_for_OLPC#GTK_theme.2Fengine_torturer_and_crash_tester
It mainly does two things:
* For each of the most common widget types [2],
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.
A report was posted (sent to people at OLPC [3] and Ubuntu [4]) with
benchmarks of several GTK themes: OLPC, Clearlooks, Human (Ubuntu's)
and HighContrast. The benchmark itself is available as a spreadsheet
[5]. It has time measures and ratios between themes; see also the two
emails ([3] and [4]) for a short analysis.
[1] You can get a tarball at
http://www.manucornet.net/pub/olpc/gtk-theme-torturer.tgz
[2] If you need more, just ask and I'll add them faster than you can
say "GTK Performance List".
[3] http://mailman.laptop.org/pipermail/devel/2006-August/001026.html
[4] https://lists.ubuntu.com/archives/ubuntu-devel/2006-August/019738.html
[5] http://www.manucornet.net/pub/Themes_performance.ods
200409 200412 200501 200502 200503 200504 200505 200506 200507 200508 200509 200510 200511 200512 200601 200602 200603 200604 200605 200606 200607 200608 200609 200610 200611 200612 200701 200702 200703 200704 200705 200707 200708 200709 200710 200711 200712 200801 200802 200803 200804 200805 200806 200807 200808 200809 200810 200811 200812 200901 200902 200903 200904 200905 200906 200907 200908 200909 200912 201001 201002 201003 201004 201007 201009 201011 201102
Subscribe to Posts [Atom]