我想让用户有能力选择双缓冲和三重缓冲,因为在某些卡(或OS?)上默认启用三重缓冲,这会导致一些性能问题。
我该怎么做?
答案 0 :(得分:4)
您无法从OpenGL本身执行此操作,因为OpenGL仅处理绘图调用等。您需要使用特定于供应商的调用。在Windows中,有用于处理上下文创建的WGL等。
答案 1 :(得分:1)
OpenGL中没有这样的功能。
我发现的最接近的是glutInitDisplayMode,您可以通过GLUT_DOUBLE
或GLUT_SINGLE
启用或禁用双缓冲。其他窗口管理器,例如SDL,还有其他调用:
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);