Recommended Posts

For the life of me, I can't figure out how to get double buffering to work in Linux. I am using SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); before SDL_SetVideoMode, but double buffering doesn't seem to be on. If it do glClear(GL_COLOR_BUFFER_BIT) before rendering, I get terrible flicker (there's flicker anyway, but less noticeable without this). If I put a large empty loop after the clear, it will show the blank screen for a while before rendering for a split second and then goes back to the blank screen for the next frame, so that is the basis of my assumption that double buffering is not working.
Oh, and I'm using OpenGL.
Any tips? I don't particularly need glClear (I was just testing something), but the flicker needs to be fixed somehow.

Share this post

Link to post

Share on other sites

It sounds like v-sync is not being enabled for whatever reason. Are you running your program fullscreen? That might help. Otherwise, there may be a setting in your 3D drivers for v-sync; I know there is in the NVidia drivers ("Sync to VBlank").