[Bug 689741] Re: libgtk2.0-0 performance problem due to unused cruft from 10 years ago

eXtace 689741 at bugs.launchpad.net
Wed Dec 15 13:35:51 GMT 2010


I'm sorry, I don't have a natty system to test against,  however you can do some 
testing with owen's python testcase app, which I've attached.

Just change the SIZE = XX  line and test,  i.e. setting it to 12, creates a 
12x12 grid,  changing that to 48, creates a 48x48 grid and so on.   You should 
be able to get to a significantly larger grid and have it update at the correct 
rate (1/sec) with the patched GTK+, especially on slower hardware, with less CPU 
usage, than with the unpatched GK+ version,  the effect may be harder to see on 
the latest and greatest machines.


-- David J. Andruczyk


----- Original Message ----
From: Sebastien Bacher <seb128 at ubuntu.com>
To: djandruczyk at yahoo.com
Sent: Wed, December 15, 2010 6:09:33 AM
Subject: [Bug 689741] Re: libgtk2.0-0 performance problem due to unused cruft 
from 10 years ago

Upstream commit that fix in their stable serie:

http://git.gnome.org/browse/gtk+/log/?h=gtk-2-24
http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=c282958fb4bb25c736c682735002d15c50cb44d0


I've backported that to natty now, could you test the update and let we
know how much of the issue it solves or if the other gtkwidget change is
also required?

Upstream did that extra change in trunk:
http://git.gnome.org/browse/gtk+/commit/?id=b7fd6f1e8826589646e2b0e2d7a848fc2fab3ee3


Which will land in the next gtk3 update, that one is not in gtk2 yet
though.

If the fix works correctly we will consider stable updates for other
ubuntu series but it needs testing in natty before

-- 
You received this bug notification because you are a direct subscriber
of the bug.
https://bugs.launchpad.net/bugs/689741

Title:
  libgtk2.0-0 performance problem due to unused cruft from 10 years ago



** Attachment added: "test.py"
   https://bugs.launchpad.net/bugs/689741/+attachment/1766710/+files/test.py

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is a direct subscriber.
https://bugs.launchpad.net/bugs/689741

Title:
  libgtk2.0-0 performance problem due to unused cruft from 10 years ago

Status in GTK+ GUI Toolkit:
  Unknown
Status in “gtk+2.0” package in Ubuntu:
  Fix Released

Bug description:
  Binary package hint: libgtk2.0-0



After discussions with Owen Taylor it was found that GTK+ has a longstanding performance problem in cases where a program has a large number of GTK+ widgets on a window.

https://bugzilla.gnome.org/show_bug.cgi?id=637155
https://bugzilla.gnome.org/show_bug.cgi?id=637156

Removing  gtk_widget_reset_shapes() from the gtk_widget_set_style_internal() function in gtkwidget.c and rebuilding.reinstalling GTK+ results in a SIGNIFICANT performance improvement for applications which use a large number of widgets with GtkWindows.

Patch attached for  gtk+2.0_2.20.0-0ubuntu4, for ubuntu 10.04, however this bug applies to all GTK+ versions.

Source:  gtk+2.0_2.20.0-0ubuntu4

Distro tested on: Ubuntu 10.04,  however this bug is present in ALL GTK+ versions 

apt-cache policy libgtk2.0-0
libgtk2.0-0:
  Installed: 2.20.1-0ubuntu2
  Candidate: 2.20.1-0ubuntu2
  Version table:
 *** 2.20.1-0ubuntu2 0
        500 http://mirrors.ccs.neu.edu/ubuntu/ lucid-updates/main Packages
        100 /var/lib/dpkg/status
     2.20.0-0ubuntu4 0
        500 http://mirrors.ccs.neu.edu/ubuntu/ lucid/main Packages

Without this patch, GTK+ applications with a large number of widgets with GtkWindows will suffer higher CPU usage, and significantly slower performance.





More information about the Ubuntu-sponsors mailing list