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

Reply via email to