我想知道FRAPS如何捕获OpenGL帧缓冲区,因为它似乎比重复调用glReadPixels
执行得更好(即使没有保存任何东西)。
我有一个简单的OpenGL演示,如下所示:
我知道无意义的帧率与实际帧时间(以毫秒为单位)相比较,但我将在此处将其用于简单比较。
正常运行时,平均帧速率超过8000.
当FRAPS以全尺寸锁定为60 fps进行录制时,帧速率降至240。
当调用glReadPixels
而不执行任何操作时,帧速率为225。
FRAPS如何在合理的时间内记录和保存输出?它是否使用非常轻的编码格式的录制线程?
答案 0 :(得分:1)
正如Ben Voigt所说,当仅捕获(即调用glReadPixels)每秒30或60帧时,减速就不那么明显了。