使用参数 glfwGetPrimaryMonitor() 创建 window 时屏幕撕裂

Screen tearing when creating window with parameter glfwGetPrimaryMonitor()

    GLFWwindow* window = glfwCreateWindow(1920, 1080, "test", NULL, NULL);

像这样创建 Window 可以在移动相机时以 60 fps 的速度进行平滑渲染,但不会占据全屏。

    GLFWwindow* window = glfwCreateWindow(1920, 1080, "test", glfwGetPrimariMonitor(), NULL);

像这样创建 Window 会导致在移动相机时屏幕撕裂 (720 fps),但会占据整个屏幕。

  1. 我有一台高端电脑。
  2. glfwSwapInterval(1); 垂直同步已启用。
  3. 也试过wglSwapIntervalEXT(1);

这个问题出现在每个程序(将基本三角形渲染到复杂的阴影映射)和我的两台电脑上。
我想在不撕裂的情况下全屏渲染。有什么解决办法吗?

在 Nvidia 控制面板中启用垂直同步选项解决了这个问题。