我们有一个用 C++ 编写的桌面 Windows 应用程序,它使用 OpenGL 渲染视图。
在某些 AMD 卡上,如果您打开 Catalyst Control Center 并强制启用 Triple Buffering 和 V-sync,它会破坏我们的应用程序:根本没有渲染,它只是一个灰屏(在某些其他驱动程序版本上,它会在创建上下文时崩溃)。关闭三重缓冲或垂直同步可将其恢复正常。
我们用于wglSwapIntervalEXT
在我们的应用程序中启用垂直同步。考虑到它可能会发生冲突,我删除了它的代码;不用找了。
这绝对是一个驱动程序错误,还是我们必须做任何不同的事情来处理三重缓冲?