OpenGL Wiki在Swap Interval主题页的最后一段中讲述了有关GPU / CPU同步的有趣内容:
如引用文本所示,基于{p>如果需要GPU< - > CPU同步,则应在缓冲区交换后使用高精度/多媒体计时器而不是glFinish。
glFinish()
或glFenceSync()
的方法效果不佳。我相信那些高精度/多媒体定时器不是OpenGL规范的一部分。所以:
有人知道如何使用高精度/多媒体计时器,以便在V-Synched显示器上缓冲交换后立即调用一些CPU代码(可能会获取时间戳)?
我的目标是用C ++编写并在Linux上编译的解决方案,但任何库名,代码位或直觉都会有很大的帮助!