Re: gtk performance testing [was Re: GNOME 2.11/2.12 targeting GTK+ 2.8 (ie cairo based)]



On Thu, 2005-06-09 at 10:49 -0400, Luis Villa wrote:
> On 6/9/05, Luis Villa <luis villa gmail com> wrote:

> Went ahead and did it myself. TextView is brutally slower (300-400%),
> some other things are 25-30% slower, and some things actually get
> faster. Disclaimer: I'm pretty sure I did this right and I'm linking
> against the right stuff, but these numbers should be confirmed by an
> expert, and I can't speak to the validity of the tool's measurements
> itself, except to note that scrolling in a textview area is *visibly*
> slower.
> 
> The data: 
> 
> first 'column' of times is gtk 2.6, second is gtk/cairo HEAD of
> yesterday, both with the Mist theme:

With the Mist theme, you are testing mixed Cairo and GDK rendering.
Right now, that could conceivably hide some performance problems with
Cairo. In the future, there are some performance optimizations that will
be disabled when you are mixing Cairo and GDK rendering.

The GTK+ builtin theme probably gives more of an accurate feel for
GTK+/Cairo performance.

What the appropriate theme to test is does depend on what we will
be shipping for GNOME-2.10 as the default, of course. Which is likely
not the GTK+ builtin theme.

> GtkEntry - time:  0.43 0.76
> GtkComboBox - time: 12.61 15.30
> GtkComboBoxEntry - time: 11.95 13.25
> GtkSpinButton - time:  0.65 1.09
> GtkProgressBar - time:  0.53 0.87
> GtkToggleButton - time:  2.17 4.42
> GtkCheckButton - time:  3.41 3.27
> GtkRadioButton - time:  4.29 3.96
> GtkTextView - Add text - time: 91.88 268.67
> GtkTextView - Scroll - time: 43.17 190.83
> GtkDrawingArea - Lines - time:  8.40 8.48
> GtkDrawingArea - Circles - time: 13.38 13.58
> GtkDrawingArea - Text - time: 48.70 29.99
> GtkDrawingArea - Pixbufs - time: 11.71 11.46

Without studying what these benchmarks are actually doing, I'd consider
them pretty encouraging ... some operations got faster, and what
got slower is something we have in our sights already ... 
cairo_scaled_font_glyph_extents(). (GtkTextView performance is
text measuring performance.) 

There is an obvious big-hammer approach that would allow us to get rid
of that ... to put a cache in front of it so that we avoid calling
into Cairo entirely, but I'd like to see what we can do inside of 
Cairo first.

Regards,
						Owen

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]