【问题标题】:Disable vsync with GLFW?使用 GLFW 禁用垂直同步?
【发布时间】:2020-04-10 16:11:39
【问题描述】:

我使用 GLFW 和 GLEW;问题是vsync默认是开启的,怎么关闭呢?

  • Windows 10
  • Visual C++ 2019
  • OpenGL 3.0

【问题讨论】:

    标签: c windows opengl glfw


    【解决方案1】:

    一旦您通过glfwMakeContextCurrent() 将您的 GL 上下文设为最新,您就可以使用glfwSwapInterval(0) 请求禁用垂直同步:

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

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

    【讨论】:

    • 非常感谢,当我关闭 Vsync 时,发生了一件有趣的事情,我的程序很简单,一直旋转一个盒子,每次我的 FPS 下降,例如:FPS 600 - FPS 200 ,,The盒子会很慢;准确地说是 Geforce Experience 游戏内报道何时开始,为什么?
    • 当我打开 Vsync 时,这不会发生:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多