2

我想知道 FRAPS 如何捕获 OpenGL 帧缓冲区,因为它的性能似乎比重复调用要好得多glReadPixels(即使没有保存任何内容)。

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

http://puu.sh/Gat5

我知道将无意义的帧速率与以毫秒为单位的实际帧时间进行比较,但我将在这里使用它进行简单的比较。

正常运行时,我得到的平均帧率远远超过 8000。

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

当调用glReadPixels并且不执行其他操作时,帧率为 225。

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

4

1 回答 1

1

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

于 2012-07-06T02:17:02.833 回答