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
