【发布时间】:2011-07-01 05:28:17
【问题描述】:
由于今天的卡片似乎保留了渲染命令列表并且仅在调用 glFlush 或 glFinish 时刷新,所以真的需要双缓冲吗?我正在使用 SDL/OpenGL 在 Linux(ATI Mobility radeon 卡)上开发的 OpenGL 游戏实际上在将 SDL_GL_swapbuffers() 替换为 glFinish() 并在 init 代码中使用 SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,0) 时闪烁较少。这是我卡的特殊情况还是所有卡都可能出现这种情况?
编辑:我发现造成这种情况的原因是 KWin。似乎正如 datenwolf 所说,没有同步的合成是原因。当我关闭 KWin 合成时,游戏运行良好,无需任何源代码补丁
【问题讨论】:
标签: opengl sdl-opengl