GLFW VSync не работает
glfwSwapInterval(1) похоже, не работает на меня. Если я заставляю VSync в CCC или setVerticalSyncEnabled(true) в SFML мой fps падает до 60, но GLFW просто продолжает работать на 9000 fps. Я делаю это неправильно или GLFW прослушивается?
2 ответов
Ну, похоже, GLFW не хочет включать VSync, когда композиция рабочего стола включена. Если вы хотите VSync в любом случае, это будет работать на Windows:
#ifdef _WIN32
    // Turn on vertical screen sync under Windows.
    // (I.e. it uses the WGL_EXT_swap_control extension)
    typedef BOOL (WINAPI *PFNWGLSWAPINTERVALEXTPROC)(int interval);
    PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL;
    wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT");
    if(wglSwapIntervalEXT)
        wglSwapIntervalEXT(1);
#endif
для других ОС google поможет вам.
перестроить GLFW3 с параметром GLFW_USE_DWM_SWAP_INTERVAL.
посмотреть glfw/src/config.h
документы GLFW предупреждают о проблемах с дрожанием, но я сам их не вижу.