【发布时间】:2020-05-26 13:37:53
【问题描述】:
我运行了我的程序两次。第一次使用 glfwSwapInterval(1) 一切都很好。 第二次没有 glfwSwapInterval(1),它占用了我 100% 的 CPU。
我的问题:这正常吗?我真的必须调用 glfwSwapInterval(1) 才能让我的程序正常运行吗?
代码:
glfwInit();
long window = glfwCreateWindow(1200, 800, "OpenGL", 0, 0);
glfwShowWindow(window);
glfwMakeContextCurrent(window);
GL.createCapabilities();
glClearColor(1, 0, 0, 1);
while (!glfwWindowShouldClose(window)) {
glfwPollEvents();
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
}
glfwTerminate();
【问题讨论】:
-
好吧,您是希望
while循环尽可能快地运行并生成用户永远看不到的帧,还是要确保您生成的每一帧都发送到屏幕上?