由于今天的卡片似乎保留了渲染命令列表并仅在调用glFlushor时刷新glFinish,真的需要双缓冲吗?我正在使用 SDL/OpenGL 在 Linux(ATI Mobility radeon 卡)上开发的 OpenGL 游戏在被 init 代码SDL_GL_swapbuffers()替换glFinish()时实际上闪烁较少。SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,0)这是我卡的特殊情况还是所有卡都可能出现这种情况?
编辑:我发现这是KWin的原因。似乎正如 datenwolf 所说,没有同步的合成是原因。当我关闭 KWin 合成时,游戏运行良好,无需任何源代码补丁