[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Using UnredirectFullscreen=false by default in distributions
From:       Lubos Lunak <l.lunak () suse ! cz>
Date:       2010-06-04 12:39:54
Message-ID: 201006041439.54935.l.lunak () suse ! cz
[Download RAW message or body]

On Tuesday 01 of June 2010, Thomas Lübking wrote:
> The solution is however to prevent the flicker.
> => HACKISH (?) FIX:
> I think storing the root (pixmap), dumping the fullscreen window into the
> root, re-redirecting and restoring the original root (pixmap) would do the
> job - never tested though and this also might be HW/driver related (Does
> everybody else see the root pixmap on re-redirection?!)

 Are you talking about the case when activating compositing for the window 
again? If yes, that is not the problem here, here the main problem comes when 
turning compositing off for a window and the flicker and delay come from the 
fact that the window has to redraw itself and that happens visibly. Is that 
different for you?

 For the case I'm talking about it shouldn't be necessary to read the root 
window contents, as that'd be also quite slow (reading from VRAM presumably). 
It should be possible to just store the intended overlay window contents into 
another pixmap in Scene*::flushBuffer() and later blit it to the root window 
after the overlay window is hidden.

 The case with activating compositing should be a minor problem, since the 
overlay window is shown only right before its contents will be painted (see 
the showOverlay() call in Scene*::paint()). I don't see how to get that 
better, possibly except for again making flushBuffer() render somewhere else, 
set the pixmap as the overlay window's background pixmap and only then show 
it.

-- 
 Lubos Lunak
 openSUSE Boosters team, KDE developer
 l.lunak@suse.cz , l.lunak@kde.org
_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic