|
[ icewm-Bugs-1564563 ] GIMP and IceWM freeze: msg#00003window-managers.icewm.devel
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> |
|---|---|---|
| Previous by Date: | [ icewm-Bugs-1573405 ] icewm segfault with qt-4.2 application: 00003, SourceForge.net |
|---|---|
| Next by Date: | [ icewm-Bugs-1572109 ] allWorkspaces does not work for pre-exisiting windows: 00003, SourceForge.net |
| Previous by Thread: | [ icewm-Bugs-1573405 ] icewm segfault with qt-4.2 applicationi: 00003, SourceForge.net |
| Next by Thread: | [ icewm-Bugs-1572109 ] allWorkspaces does not work for pre-exisiting windows: 00003, SourceForge.net |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |