为什么 GLFW_CONTEXT_VERSION 3.3 渲染速度比 2.0 慢?

Why does GLFW_CONTEXT_VERSION 3.3 render slower than 2.0?

我有以下代码:

#include <glad/glad.h>
#include <GLFW/glfw3.h>

#define GLFW_INCLUDE_NONE

#include <stdio.h>
#include <stdlib.h>

static void error_callback(int error, const char *description)
{
    printf("Error: %s\n", description);
}

int main()
{
    glfwInit();

    glfwSetErrorCallback(error_callback);

    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);

    GLFWwindow *window = glfwCreateWindow(800, 600, "Learn OpenGL", NULL, NULL);

    glfwMakeContextCurrent(window);
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        printf("Failed to initialize GLAD. Fatal error.\n");
        return -1;
    }
    glfwSwapInterval(1);

    while (!glfwWindowShouldClose(window))
    {

        int width, height;

        glfwGetFramebufferSize(window, &width, &height);

        glViewport(0, 0, width, height);

        glClearColor(0.0f, 0.5f, 1.0f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    glfwDestroyWindow(window);

    glfwTerminate();

    return 0;
}

当代码按照上面的方式设置时,GLFW_CONTEXT_VERSION 设置为 2.0,它工作得很好。当我调整 window 大小时,一旦我停止调整大小时,它就会呈现新部分。但是,当我将版本设置为 3.3(这是我想要使用的版本)时,它在整个 window 上散布蓝色时有点滞后(即使在我停止调整它的大小之后),如此处所示: (顺便说一句,我是 运行 Windows)

版本为 2.0 时不会发生这种情况。为什么会这样,我怎样才能让它在 3.3 中呈现和在 2.0 中呈现的一样?

当我将 GLFW_OPENGL_PROFILE 设置为 GLFW_OPENGL_COMPAT_PROFILE 时,它在 3.3 中的工作方式与在 2.0 中一样,但在 GLFW_OPENGL_CORE_PROFILE 中(这是我想要使用的)它不会。我该如何修复它才能在 CORE_PROFILE?

中正常工作

(我怀疑 GLFW 使用了某种已弃用的函数...我不知道。我使用的是 glfw3,所以它不应该没有任何已弃用的函数吗?)

以下是对我有用的方法。我有一个 Intel UHD Graphics 620 GPU,我更新了我的驱动程序,现在它可以工作了。

旧驱动程序版本为 24.something,新驱动程序版本为 30.0.101.1660。