logo       

[ icewm-Bugs-1564563 ] GIMP and IceWM freeze: msg#00003

window-managers.icewm.devel

Subject: [ icewm-Bugs-1564563 ] GIMP and IceWM freeze

Bugs item #1564563, was opened at 2006-09-24 16:53
Message generated for change (Comment added) made by captnmark
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100031&aid=1564563&group_id=31

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: icewm-1.2
Group: None
Status: Open
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Marko Macek (captnmark)
Summary: GIMP and IceWM freeze

Initial Comment:
When using Gimp under IceWM, at some time Gimp, IceWM
and XOrg nearly freeze. In this situation, IceWM eats
up 20% CPU time, and Xorg eats 80% CPU time. IceWM
doesn't react to mouse clicks/keyboard at all. When
switching to the console and back to X, there are
some strange graphic artifacts (like stripes) on
parts of the screen, which aren't repaint by X. If I
kill Gimp, the situation doesn't change for some more
seconds, but then IceWM and Xorg work perfectly
normal again.

I don't know when exactly this happens; I could
reproduce it when creating a mid-sized bitmap in Gimp
and drawing a little around in it. The statusbar in
Gimp said the picture uses 11 MBs in the background,
when Gimp, IceWM and Xorg finally freezed.

I never experienced any of these with other apps
under IceWM. My system is usually very stable. This
isn't reproducable on at least one other window
manager I tested, QVWM.

Debian Unstable (recent as of 24.09.2006)
IceWM 1.2.28
X.org 7.1.1
(graphics hardware: mach64, without DRI)
GIMP 2.2.13
Linux Kernel 2.6.15-26-686-nosmp

----------------------------------------------------------------------

>Comment By: Marko Macek (captnmark)
Date: 2006-11-12 09:27

Message:
Logged In: YES
user_id=1814

fixed in CVS.

----------------------------------------------------------------------

Comment By: Szasz Pal (space2)
Date: 2006-10-18 21:59

Message:
Logged In: YES
user_id=243414

Hi!

I think I fixed it ;-)

Here is what I did (everything in file wmclient.cc):

1) Added function:

static int same_str(const char * s1, const char * s2)

{

if (s1 && s2 && 0 == strcmp(s1, s2)) return 1;

return 0;

}


2) At the beginning of void
YFrameClient::setWindowTitle(const char *title) added:

if (same_str(title, fWindowTitle)) return;

3) At the beginning of void YFrameClient::setIconTitle(const
char *title) added:

if (same_str(title, fIconTitle)) return;

Now gimp doesnt seem to freezes at all. ie. previously as
soon as I started to draw continuously, ie holding down the
mouse button, the clock stopped. Now it continues working.

----------------------------------------------------------------------

Comment By: Szasz Pal (space2)
Date: 2006-10-17 19:53

Message:
Logged In: YES
user_id=243414

One more observation: with DoubleBuffer=0 now I see that in
the "freezing" phase it does redraws the taskbar button,
again repeatadly. So it seems the problem is the huge amount
of repaint cycles, which queue up, and untill all of them
are handled, icewm (and X) is freezed. Shouldn't there be an
optimization, like if there is a repaint pending, and a new
one arrives, ignore the new one? (or one/any of them?)

----------------------------------------------------------------------

Comment By: Szasz Pal (space2)
Date: 2006-10-17 19:51

Message:
Logged In: YES
user_id=243414

Hmm, I checkek it again. You're right, the icon is updated
only after one second, but the taskbar button is redrawn
immediately and many times. I set DoubleBuffer=0, and
whenever I start drawing in an image (eg with the brush or
paint tool), the taskbar button starts flickering
immediately. So the slowdown might be due to the repeated
redraw of taskbar button.

----------------------------------------------------------------------

Comment By: Marko Macek (captnmark)
Date: 2006-10-17 19:15

Message:
Logged In: YES
user_id=1814

Interesting, because on my system, there
is never any slow down in icewm, probably because
the icon in gimp only refreshes after about 1 second.

FC5, gimp-2.2.13-1.fc5

This (the delay) is actually the correct fix, IMO. I'm not
sure where this would be configured...

----------------------------------------------------------------------

Comment By: Szasz Pal (space2)
Date: 2006-10-17 17:55

Message:
Logged In: YES
user_id=243414

Hi!

I have the same issue. Up until know I thought it's a Gimp
bug, but it seems either an icewm bug, or simply a
compatibility bug.

Anyway, some info from my side:

1) Video RAM:

I tested with 16 and 32, with different video cards (NVidia,
ATI and some onboard S3), and it appears in each case, so
not video card related.

2) DoubleBuffer=0 doesn't change anything, ... actually, it
changes a bit: the button/title in the taskbar flickers

3) No difference on window (or even image size). I just
tested now with a 16x16 image, and previous I was working on
a 240x320 image.

4) What's 'oprofile'? Anyway, I don't think it's system
specific, I have the same problem on three differt machines,
with three different CPUs and amount of RAM.

But, I think I know the source of the problem:
Whenever I draw in gimp, after each stroke Gimp updates the
window icon as well. And I think this is the bottleneck:
Gimp sends a new icon for icewm with a very high framerate,
and icewm cannot catch up. This also explains while it
freezes longer after a longer period of drawing.

So, can you somehow detect if the icon is updated too often,
and maybe ignore it?

And as a temporary solution: is there a way to simply ignore
any icon changes (for gimp, or for any application?)

I tried using winoptions, created a small file
(~/.icewm/winoptions) with the contents:

Gimp.icon = xterm

But it doesn't even changes the icon in the Gimp's main
window :-(



----------------------------------------------------------------------

Comment By: Marko Macek (captnmark)
Date: 2006-09-24 17:31

Message:
Logged In: YES
user_id=1814

1. how much video RAM?

2. Does setting DoubleBuffer=0 in ~/.icewm/preferences
change anything?

3. Does window size make a difference?

4. Since the bug is probably configuration specific, can you
try using 'oprofile' on your system?

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100031&aid=1564563&group_id=31

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise