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.
Viper550 -------- Original Message -------- Subject: Human theme benchmarked Date: Wed, 02 Aug 2006 15:41:41 +0200 From: Manu Cornet <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] CC: Federico Mena Quintero <[EMAIL PROTECTED]> 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 interesting. 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 :) Cheers, Manu [1] http://wiki.laptop.org/go/GTK_for_OLPC#GTK_theme.2Fengine_torturer_and_crash_tester [2] http://www.manucornet.net/pub/Themes_performance.ods -- ubuntu-devel mailing list [EMAIL PROTECTED] https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel -- ubuntu-art mailing list ubuntu-art@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-art