Performance change from X in Fedora Core 4 to Fedora Core 5

Johan Ersvik jersvik at fastmail.fm
Mon Jul 10 05:00:05 PDT 2006


Hi Clemens, Xorg list,

Tried out the modified gdkwindow and gtkwindow and run gtkperf (with 300
test rounds) with window maximized (no redrawing of other windows). The
results are found below. To summarize I got a speedup from 70.95 to
54.54, i.e. 23%. This is on a "GeForce4 MX 440SE AGP 8x", with a VIA
"A7V8X/A7V333" motherboard.

Clemens, great to see someone experimenting with this.
The gtk-devel list might be interested in your patch too, btw :)

Regards,
Johan

GtkPerf Results:

[cvs head unmodified]
GtkPerf 0.40 - Starting testing: Mon Jul 10 12:54:06 2006

GtkEntry - time:  0.46
GtkComboBox - time: 10.48
GtkComboBoxEntry - time:  9.56
GtkSpinButton - time:  1.15
GtkProgressBar - time:  0.65
GtkToggleButton - time:  4.51
GtkCheckButton - time:  3.49
GtkRadioButton - time:  4.67
GtkTextView - Add text - time: 21.13
GtkTextView - Scroll - time:  0.15
GtkDrawingArea - Lines - time:  2.76
GtkDrawingArea - Circles - time:  2.53
GtkDrawingArea - Text - time:  7.38
GtkDrawingArea - Pixbufs - time:  2.03
 ---
Total time: 70.95

[cvs head + clemens]
GtkPerf 0.40 - Starting testing: Mon Jul 10 12:58:30 2006

GtkEntry - time:  0.39
GtkComboBox - time:  8.42
GtkComboBoxEntry - time:  6.89
GtkSpinButton - time:  1.02
GtkProgressBar - time:  0.46
GtkToggleButton - time:  2.66
GtkCheckButton - time:  1.81
GtkRadioButton - time:  2.42
GtkTextView - Add text - time: 16.32
GtkTextView - Scroll - time:  0.11
GtkDrawingArea - Lines - time:  2.38
GtkDrawingArea - Circles - time:  1.80
GtkDrawingArea - Text - time:  7.78
GtkDrawingArea - Pixbufs - time:  2.07
 ---
Total time: 54.54

On Sun, 2006-07-09 at 21:48 +0200, Clemens Eisserer wrote:
> For me GTKs performance also got that bad (and my whishes to the list
> had not been heard) that I got my hands on GTKs code.
> 
> I did some profiling on my NVidia based systems and it turned out that
> GDK's backbuffering was problematic - at each expose GDK was creating
> several large pixmaps, drawing into them, paint them a single time and
> then release it.
> 
> I hacked a bit inside of GTK-2.9.4 and some things are still broken
> (spinner widget, firefox's checkboxes - don't know why but if you find
> out please let me know!) but its quite stable. Sice GTK-2.10 is
> basically 2.9.5 I guess it should be enough just to copy these files
> into GTK-2.10 source and rebuild it:
> http://web460.server3.webplus24.de/gdkwindow.c
> http://web460.server3.webplus24.de/gdkwindow.h
> http://web460.server3.webplus24.de/gtkwindow.c
> http://web460.server3.webplus24.de/gtkwindow.h
> If something is missing please let me know ;-)
> 
> However its implementation is an ugly hack - I don't recommend it for
> anything than profiling!
> Maybe someone whos interrested can try it out (in conjunction with
> gtkperf for example), I got a speedup of 35% in gtkperf, some
> operations are up to 5x faster.
> Whats still very bad is the expose of complex widgets like trees,
> lists or tables.
> 
> I would be happy to get some other before/after results of machines
> with different cards/drivers and maybe suggestions how to do it in a
> better way. For now I only wrote C at school ;)
> 
> lg Clemens
> 
> Roo: Whats next? Do you send Linus a mail asking him to put his hands
> on GTK because desktop users get a bad impression of Linux on Desktop
> in general.
> Furthermore please stop spreading FUD about other projects and people,
> thats a do-not - especially if you would like to have something from
> the guys you badmouth in public!
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg




More information about the xorg mailing list