使用 GLFW 禁用垂直同步?

Eng*_*oor 1 c windows opengl glfw

我使用 GLFW 和 GLEW;问题是默认情况下启用了 vsync,我该如何关闭它?

  • 视窗 10
  • 视觉 C++ 2019
  • OpenGL 3.0

gen*_*ult 5

一旦您通过以下方式使您的 GL 上下文成为最新状态,glfwMakeContextCurrent()您可以使用它glfwSwapInterval(0)来请求禁用 vsync:

int main( int, char** )
{
    GLFWwindow* window;
    glfwInit();
    window = glfwCreateWindow( 640, 480, "GLFW", NULL, NULL );
    glfwMakeContextCurrent( window );
    glfwSwapInterval( 0 );
    ...
Run Code Online (Sandbox Code Playgroud)

请注意,这只是一个请求,因为您的 GL 实现可能不支持底层交换间隔扩展或 vsync 可能在驱动程序/操作系统级别被强制“打开”。