我想知道 FRAPS 如何捕获 OpenGL 帧缓冲区,因为它的性能似乎比重复调用要好得多glReadPixels
(即使没有保存任何内容)。
我有一个简单的 OpenGL 演示,如下所示:
我知道将无意义的帧速率与以毫秒为单位的实际帧时间进行比较,但我将在这里使用它进行简单的比较。
正常运行时,我得到的平均帧率远远超过 8000。
当 FRAPS 以全尺寸锁定到 60 fps 进行录制时,帧速率会降低到 240。
当调用glReadPixels
并且不执行其他操作时,帧率为 225。
FRAPS 如何在合理的时间内记录和保存输出?它是否使用使用非常轻量级编码格式的录制线程?