On Sat, 17 Jun 2006 17:37:27 +0200 Fabian Keil <[EMAIL PROTECTED]> babbled:
> Fabian Keil <[EMAIL PROTECTED]> wrote: > > > I'm using 0.16.999.027 on FreeBSD 6.1, transparency > > is working, DRI is enabled and I can stack as much > > transparent Eterms as I want, without getting any > > performance problems. > > > > But as soon as I switch to a screen where Sylpheed-Claws > > or Firefox are running unshaded, Enlightenment's cpu usage > > goes up the roof, even though there is no transparency used > > on the current screen and the only movement happens in gkrellm. > > Doh! Apparently the cpu usage had nothing to do with Firefox > or Sylpheed-Claws, but with the fact that they were hiding > a shelve which was set to be "Below Windows". > > This screen shot shows the shelve completely hidden > and with E17 causing high load: > http://www.fabiankeil.de/tmp/e17-transparency-completely-hidden-shelve-below-windows-1024x768.png > > In this one a few pixels at the left side of the shelve > are uncovered and the load is normal: > http://www.fabiankeil.de/tmp/e17-transparency-partly-hidden-shelve-below-windows-1024x768.png > > In the last one the whole shelve is hidden, but it > is set to be "Below Everything" and the load is not affected: > http://www.fabiankeil.de/tmp/e17-transparency-hidden-shelve-below-everything-1024x768.png > Setting the shelve to be "Above Everything" works as well. i suspect this is some bug to do with xcomposite and x sending bogus expose events to the shelf thus the shelf redrawing - thus e redrawng it, its shape and having to recompute a dropshadow if you still have e's dropshadow enabled. (nb invisible shelves that are not "below everything" are largely useless). probably because e renders, sets shape mask, as a result x generates expose blindly even though there were no new exposures. i am suspecting this is a bug report for x.org :) but - put in some debugging (or use xev and the right window id to sniff events). in fact i just checked. suspicion confirmed. using xev i get a continual stream of never-ending expose events form x when the window shelf is covered: Expose event, serial 13, synthetic NO, window 0x400159, (6,0), width 338, height 40, count 0 Expose event, serial 13, synthetic NO, window 0x400159, (6,0), width 338, height 40, count 0 Expose event, serial 13, synthetic NO, window 0x400159, (6,0), width 338, height 40, count 0 Expose event, serial 13, synthetic NO, window 0x400159, (6,0), width 338, height 40, count 0 Expose event, serial 13, synthetic NO, window 0x400159, (6,0), width 338, height 40, count 0 Expose event, serial 13, synthetic NO, window 0x400159, (6,0), width 338, height 40, count 0 but when it is uncovered it works normally: Expose event, serial 13, synthetic NO, window 0x400159, (3,36), width 4, height 1, count 1 Expose event, serial 13, synthetic NO, window 0x400159, (33,36), width 2, height 1, count 0 Expose event, serial 13, synthetic NO, window 0x400159, (36,35), width 1, height 1, count 0 Expose event, serial 13, synthetic NO, window 0x400159, (35,36), width 1, height 1, count 0 MotionNotify event, serial 13, synthetic NO, window 0x400159, root 0x185, subw 0x0, time 3835547669, (7,14), root:(635,1174), state 0x10, is_hint 0, same_screen YES MotionNotify event, serial 13, synthetic NO, window 0x400159, root 0x185, subw 0x0, time 3835547677, (6,14), root:(634,1174), state 0x10, is_hint 0, same_screen YES (for example). so really - this isn't e's bug unfortunately - you should report this bug to x.org. what they need to know is: using xcompmgr -n with xcomposite turned on and a shaped window, when the shaped window's shape mask is set while the window is fully obscured x continually sends expose events back to the shaped window even if the shape itself never changes (is the same shape all the time). this does not happen when the window is partially obscured or completely unobscured (the shape change generates more exposes that do not keep repeating if the shape itself does not change on a shape-set. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [EMAIL PROTECTED] 裸好多 Tokyo, Japan (東京 日本) _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users