0

我开始学习GPipe 库,并且想知道如何使用它来完成 vsync 和 FPS 控制。最初,我认为一个单独的线程可以每1 * 1000000 / FPS微秒阻塞一次并运行swapContextBuffers,但这意味着单独的线程需要构建自己的ContextT,因此它是自己的窗口。

功能本身的文档简要提到,如果在系统中启用了 VSync,它可能会阻止- 这是什么意思?我将如何启用它?

4

1 回答 1

1

设置交换间隔特定于 OpenGL 中的窗口管理器。对于 GLFW,您需要调用glfwSwapInterval。不幸的是,你不能在 GPipe 中自己做,因为你的 ContextT 正在运行的线程没有当前的 GL 上下文。这实际上应该在 GPipe-GLFW 的上下文创建中实现,即在newContext'中。

不,您不能异步交换 GPipe 中的缓冲区(但即使可能,您也不想这样做)。

于 2016-01-11T20:46:45.303 回答