[Bug 22045] Re: Poor performance / flickering with OpenGL hacks
ubuntu at paul.sladen.org
Tue Apr 11 18:47:19 UTC 2006
No, that they are the same - lack any attempt to get a non-default visual.
There are various extra channels beyond simple Red, Green, Blue that we want (in this case, DOUBLEBUFFER to stop the flickering and DEPTHBUFFER to stop the clipping).
glX gives a list of the available ones and we have to search through them to find the number of one that is a close match and then request that combination by number.
In the case of 'xss', this searching is done by a separate program called 'xscreensaver-gl-helper', which is is only a separate binary to avoid linking xss against libGL.
In the clean GTK world, this can be done with something based around:
gdk_gl_query(); // Have OpenGL?
gtk_gl_area_new([GDK_GL_RGBA, GDK_GL_DOUBLEBUFFER, GDK_GL_DEPTH_SIZE, 1, GDK_GL_NONE]);
which I think in turn calls: gdk_gl_choose_visual().
Or [ab]use glXChooseVisual() directly on the root window to try and get something better.
Poor performance / flickering with OpenGL hacks
More information about the desktop-bugs