今日のカードはレンダー コマンドのリストを保持し、glFlush
またはの呼び出しでのみフラッシュするように見えるため、glFinish
ダブル バッファリングは本当に必要なのでしょうか? SDL/OpenGL を使用して Linux (ATI Mobility radeon カード) で開発している OpenGL ゲームは、init コードでおよび にSDL_GL_swapbuffers()
置き換えられるglFinish()
と、実際にはちらつきが少なくなります。SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,0)
これは私のカードの特定のケースですか、それともすべてのカードでそうなる可能性がありますか?
編集:これの原因が KWin であることを発見しました。datenwolfさんの言う通り、同期せずに合成したことが原因だったようです。KWin 合成をオフにすると、ゲームはソースコードのパッチなしで正常に動作します