gtkperf regression and gtknotebook
- From: "Padraig O'Briain" <Padraig Obriain Sun COM>
 
- To: performance-list gnome org
 
- Subject: gtkperf regression and gtknotebook
 
- Date: Wed, 05 Jul 2006 10:10:07 +0100
 
Our QA team has reported roughly a 10% degradation in gtkperf 
performance when comparing GNOME 2.6 and GNOME 2.14.
GNOME 2.6 is using gtk 2.4.9 and GNOME 2.14 is using gtk 2.8.17.
gtkperf is CPU bound and most of the CPU is used by the X server.I used 
a special version of Xorg with dtrace probes, see 
http://people/freedesktop.org/~alanc/dtrace, to identify that most of 
the CPU is being used by the RENDER extension and within that by 
RenderComposite
requests.
The worst degradation is being seen in the first three tests in gtkperf, 
i.e. GtkEntry, GtkComboBox and GtkComboBoxEntry.
Most of the RenderComposite requests are inexpensive but there are a 
handful of expensive ones. In one example I am looking at 18 calls out 
of 444 each take about the same amount of time and account for roughly 
2/3 of the total cost.
All the expensive XRenderComposite calls seem to be associated with 
calls to gtk_paint_box_gap which is called from gtk_notebook_paint which 
is called from gtk_notebook_expose.
I have looked at all the calls to gtk_paint_box_gap during one iteration 
of GtkEntry, GtkComboBox and GtkComboBoxEntry tests in gtkperf using gtk 
2.4 and gtk 2.8 to see if there is any correlation between the arguments 
passed to gtk_paint_box_gap and the expensive calls. It looks like the 
expensive calls are the ones with the largest area. See data below.
I am looking for help at this stage.
Should we expect the calls to gtk_paint_box_gap to be so expensive?
Are there any ideas on what may have happended between gtk 2.4 and gtk 
2.8 to increase the number of expensive calls to gtk_paint_box_gap?
Padraig
gtk 2.4
=======
area:   0   0 532 281  x:   4 y:  34: width: 524: height: 243 (6)
area:   0   4 532  32  x:   4 y:  34: width: 524: height: 243 (0)
area:   0   4 532  57  x:   4 y:  34: width: 524: height: 243 (0)
area:   0   4 532  57  x:   4 y:  34: width: 524: height: 243 (0)
area:   0   4 532 123  x:   4 y:  34: width: 524: height: 243 (2)
area:   0   4 532 123  x:   4 y:  34: width: 524: height: 243 (2)
area: 128 127 276 154  x:   4 y:  34: width: 524: height: 243 (0)
area:   0   4 532 148  x:   4 y:  34: width: 524: height: 243 (2)
The figure in brackets on the right hand side is the number of expensive
calls to XRenderComposite.
gtk 2.8
=======
area:   0   0 536 280  x:   4 y:  34: width: 528: height: 242 (6)
area:   4   4 536  32  x:   4 y:  34: width: 528: height: 242 (0)
area:   4   4 536  32  x:   4 y:  34: width: 528: height: 242 (0)
area:   0   0 536 280  x:   4 y:  34: width: 528: height: 242 (0)
area:   4   4 528 280  x:   4 y:  34: width: 528: height: 242 (6)
area:   4   4 528  58  x:   4 y:  34: width: 528: height: 242 (0)
area:   4   4 528 124  x:   4 y:  34: width: 528: height: 242 (2)
area:   4   4 528 124  x:   4 y:  34: width: 528: height: 242 (2)
area: 129 128 278 152  x:   4 y:  34: width: 528: height: 242 (0)
area:   4   4 528 149  x:   4 y:  34: width: 528: height: 242 (2)
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]