【发布时间】:2011-04-29 08:39:05
【问题描述】:
我发现 OpenGL 中的 SwapBuffers 将忙于等待,只要显卡未完成渲染或正在等待 V-Sync。
这对我来说是个问题,因为我不想在等待卡完成时浪费 100% 的 CPU 内核。我不是在写游戏,所以我不能将 CPU 周期用于更高效的工作,我只想将它们交给操作系统中的其他进程。
我发现 glutTimerFunc 和 glutIdleFunc 等回调函数对我有用,但我不想使用 glut。不过,glut 必须以某种方式使用正常的 gl 函数来执行此操作,对吗?
有没有“glReadyToSwap”之类的功能?在这种情况下,我可以每毫秒左右检查一次,并确定我是否应该再等一段时间或进行交换。我也可以想象也许跳过 SwapBuffers 并编写我自己的类似函数,如果有人能指出我正确的方向,它不会忙着等待。
【问题讨论】: