On 7/18/06, Jorn Baayen <[EMAIL PROTECTED]> wrote:
> On Fri, 2006-07-14 at 11:04 -0500, Federico Mena Quintero wrote:
> > On Fri, 2006-07-14 at 10:57 +0300, Jorn Baayen wrote:
> > > >   gtk_widget_get_draw_rectangle()
> > > >      calls gtk_widget_style_get (widget, "draw-border", &draw_border, 
> > > > NULL);
> > > >
> > > > And gtk_widget_get_draw_rectangle() gets called pretty often, pretty
> > > > much every time a widget gets painted.
> > >
> > > Ok, but why isn't this taking 7% using 2.6?
> >
> > Sorry, I should have explained a bit more.  That thing got added between
> > GTK+ 2.6 and 2.8:
> >
> > 2005-04-28  Owen Taylor  <[EMAIL PROTECTED]>
> >
> >       * gtk/gtkwidget.c: Add a draw-border style property to allow
> >       themes to draw outside the widget's allocation.
> >
> > I'm not completely sure where this is needed, but apparently some
> > specific themes need it.  It may be the Win32 or the MacOS X theme.
> >
> > This obviously hurts quite a bit when repainting a single button many
> > times.  I wonder if it even shows up in the profile when exposing a
> > "real" window with many different widgets.
> >
> > I'd be interested in knowing how much time the children of that call
> > take up in the profile.  Is the problem finding out the correct style
> > structure?  Or is it asking the style if it has that property?  Etc.
>
> Have uploaded the same profiles with callgraphs enabled to the same
> location. This shows:
>
>   11        4.1045  libgtk-x11-2.0.so.0.800.18 gtk_widget_style_get
>   257      95.8955  libgtk-x11-2.0.so.0.800.18
> gtk_widget_style_get_valist
> 124       6.9312  libgtk-x11-2.0.so.0.800.18
> _gtk_style_peek_property_value
>   124      46.2687  libgtk-x11-2.0.so.0.800.18
> _gtk_style_peek_property_value [self]
>   35       13.0597  libc-2.3.90.so           bsearch
>   34       12.6866  libgobject-2.0.so.0.1000.3 g_type_is_a
>   31       11.5672  libgobject-2.0.so.0.1000.3
> g_type_check_instance_is_a
>   28       10.4478  libgtk-x11-2.0.so.0.800.18 gtk_style_get_type
>   15        5.5970  libgtk-x11-2.0.so.0.800.18 gtk_widget_get_type
>   1         0.3731  libgtk-x11-2.0.so.0.800.18 style_property_values_cmp
>

The patch I was thinking of is attached to
http://bugzilla.gnome.org/show_bug.cgi?id=157805

Matthias
_______________________________________________
Performance-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/performance-list

Reply via email to