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]