快速捕获OpenGL帧缓冲区?

时间:2012-07-05 23:41:14

标签: opengl capture framebuffer

我想知道FRAPS如何捕获OpenGL帧缓冲区,因为它似乎比重复调用glReadPixels执行得更好(即使没有保存任何东西)。

我有一个简单的OpenGL演示,如下所示:

http://puu.sh/Gat5

我知道无意义的帧率与实际帧时间(以毫秒为单位)相比较,但我将在此处将其用于简单比较。

正常运行时,平均帧速率超过8000.

当FRAPS以全尺寸锁定为60 fps进行录制时,帧速率降至240。

当调用glReadPixels而不执行任何操作时,帧速率为225。

FRAPS如何在合理的时间内记录保存输出?它是否使用非常轻的编码格式的录制线程?

1 个答案:

答案 0 :(得分:1)

正如Ben Voigt所说,当仅捕获(即调用glReadPixels)每秒30或60帧时,减速就不那么明显了。