Unredirecting the window on top of the stack

Olivier Fourdan fourdan at xfce.org
Tue Jun 6 14:16:57 PDT 2006

Hash: SHA1

Hi all,

A recent thread on the Xfce ML brought my attention to a problem with
OpenGL and composite indirect rendering.

When enabling the compositor, the OpenGL apps are redirected to pixmaps
and the compositing manager then copy the contents to screen, causing a
performance hit.

I thought it was unavoidable, but the people at nVidia posted on a
dedicated forum that the compositing manager should unredirect windows
that don't need it so that applications fully visible and opaque would
not suffer from the redirecting.

So I tried to achieve that with the embedded compositor in xfwm4 (xfce
window manager). At the beginning, the embedded compositor simply calls
XCompositeRedirectSubwindows() on the root windows (of the various
managed screens) so that all windows are properly redirected. But
unredirecting/redirecting some window(s) on the fly makes things a
little more complex for me :)

I try to call XCompositeUnredirectSubwindows() on the window frame of
the window on top of stack, but also XCompositeUnredirectWindow() on the
client window but I'm not getting much success. Once I called
XCompositeUnredirectWindow(), the window doesn't seem to be drawn
directly unlike I would have expected and I also get some refresh issues.

Am I missing something obvious? Any hint would help ;)

Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the xorg mailing list