I've managed to get Notes and the theme without having the cpu jumping
to 100%.

The problem I was having was not actually related to eclipse or an
eclipse platform app, as it turns out Lachezar Dobrev's hunch was right:
it was the small progress bar that both Notes and eclipse have.

I've attached a small python app that only creates the same little
progress bar, which should reproduce the bug. When you "pulse" the
progress bar (i.e. make it move), my cpu jumps to 100% for a while. If
you do this repeatedly (just like Notes or eclipse would do) you have a
frozen app :)

I've been testing around with the theme's gtkrc and found that the
overlays placed in the progress bar are making things slow. Comparing to
other themes like Human, they dont use pixmap for rendering progress
bars, so this is why only this theme was having the issue. I've also
noticed that those overlays might be a little big (considering this
might get redraw and resized very fast in a few seconds).

As a workaround, I cropped both over-progressbar-horiz.png and over-
progressbar-vert.png and placed them in "/usr/share/themes/New\
Wave/gtk-2.0/Images/ProgressBar/". Also you need to edit the gtkrc and
change one of the overlays to stretch in line 1053 (not sure how this
was working without it, but with the smaller images some bars were not
being displayed correctly). I don't see any noticeable difference
between the theme with large or small overlays.

So far the problem seems to be gone (in both the test app and Notes, but
haven't tested eclipse yet).

I'm attaching the test app, the cropped images and the gtkrc I'm using.

** Attachment added: "small_progressbar.py"
   http://launchpadlibrarian.net/29409010/small_progressbar.py

-- 
Eclipse takes 100% CPU with "New Wave" theme
https://bugs.launchpad.net/bugs/334991
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to