How to disable compositing ONLY on full-screen windows
I have an embedded opengl app that runs slower that it could, due to compositing overhead. It's always full-screen (guaranteed by a customized Metacity WM) and fully opaque. It runs great if I disable compositing. However, there are other apps besides this one, and I want to be able use compositing on some of those windows.
Ultimately it would be nice if I could set a property, or make an X call, to tell the window manager to disable compositing on this window. I have tried calling XCompositeUnredirectWindow inside of the WM, when the app in question has its window active, and I've also tried calling XCompositeUnredirectSubwindows on the root when the app is active (because Metacity redirects all of the subwindows of the root window for compositing), but neither of these works. Unredirecting the window seems to have no effect at all. Unredirecting the root just leaves me with a blank (background color) screen.
Anyone have any suggestions?
Re: How to disable compositing ONLY on full-screen windows
You probably need to unredirect the window manager's frame window and not your application window itself. In addition, if the composite manager uses the Composite Overlay Window, that will probably get in the way of your application working correctly. To really work reliably, you'll need to have some sort of handshake between your application and the WM. I don't know if there's a standard for that... Compiz just unredirects fullscreen windows whenever they're on top of the window stack when the option for it is enabled. If you're customizing the WM, using a window property is probably the right way to go.
|All times are GMT -5. The time now is 10:34 AM.|
Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2014, nV News.