[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