Removing a call to a cpu eating yet UNNEEDED function isn't trivial? I don't understand your reasoning. Removing 10 year old UNUSED cruft that results in a significant speedup to Applications with large(r) numbers of widgets, seems like a win, esp since it appears to be unused and unneeded. >From My chat logs with Owen taylor on #gtk+ (irc.gnome.org)
(10:54:06 AM) owen: profiling it seems to indicate some possible major optimizations - weirdly most of the time seems to be spent on a piece of GTK+ that isn't really used at all - support for widgets shaped with the SHAPE extension (11:01:45 AM) owen: dj1: I don't have a source build of GTK+ 2.0 around, but if you have one or want to create one ,and you remove the call to gtk-widget_reset_shapes() from gtk_widget_set_style_internal() I think that will help a lot (11:02:40 AM) owen: (it was added for some experiemental stuff we did when we were first adding theming to GTK+ in 1998 and has absolutely no point now) (11:17:41 AM) dave: owen: huge improvement for your test program with that fix. i can get up to 32x32 easily, and even up to 48x48 without pegging the cpu, though it renders at a bit over half speed at that size (11:18:16 AM) dave: I'm going to see if ubuntu will accept that as a patch as its bound to improve other areas I suspect. (11:21:08 AM) owen: dj1: filed https://bugzilla.gnome.org/show_bug.cgi?id=637155 for and https://bugzilla.gnome.org/show_bug.cgi?id=637156 for the two issues that combine together here to create the problem (11:21:45 AM) dave: owen: the patched GTK+ solves the render issue in my app, thanks for the help! (11:24:18 AM) owen: dj1: thanks for mentioning the problem, and sorry for blaming your app. :-) I knew there was something going weird that wasn't just GTK+ recomputing sizes, but wasn't expecting it to be some left-over code in GTK+ from a decade ago. Even owen admits it was forgotten leftover code. ** Bug watch added: GNOME Bug Tracker #637155 https://bugzilla.gnome.org/show_bug.cgi?id=637155 ** Bug watch added: GNOME Bug Tracker #637156 https://bugzilla.gnome.org/show_bug.cgi?id=637156 -- You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is subscribed to gtk+2.0 in ubuntu. https://bugs.launchpad.net/bugs/689741 Title: libgtk2.0-0 performance problem due to unused cruft from 10 years ago -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs