为什么从OpenGL窗口录制视频非常慢?

为什么从OpenGL窗口录制视频非常慢?,opengl,windows-xp,directx,Opengl,Windows Xp,Directx,我试着用FRAPS从我自己的OpenGL程序窗口录制视频,但我得到了7fps!然后我用DirectX编写了完全相同的程序,得到了平滑的30fps。在这两个程序中,渲染速度为60 fps,CPU使用率相同。决心似乎根本没有影响 这可能是什么原因,以及如何使用OpenGL使其速度尽可能快 编辑:我使用空场景进行了测试,只使用了glClear()函数,但仍然只有7fps Edit2:我的示例程序代码大小最小化,导致了同样的低FPS问题:(如果您不介意,代码来自我的另一个问题)。Edit3:我还注意到,

我试着用FRAPS从我自己的OpenGL程序窗口录制视频,但我得到了7fps!然后我用DirectX编写了完全相同的程序,得到了平滑的30fps。在这两个程序中,渲染速度为60 fps,CPU使用率相同。决心似乎根本没有影响

这可能是什么原因,以及如何使用OpenGL使其速度尽可能快

编辑:我使用空场景进行了测试,只使用了glClear()函数,但仍然只有7fps


Edit2:我的示例程序代码大小最小化,导致了同样的低FPS问题:(如果您不介意,代码来自我的另一个问题)。Edit3:我还注意到,只有当窗口大小为320x240(但仅为24fps)或更小时,我才能获得更高的FPS。您是否正确安装了图形驱动程序?如果您只使用Windows Update提供的驱动程序,OpenGL的性能将非常糟糕。

如果您使用的是即时模式,那么请重写程序以使用现代核心配置文件,并尽量减少渲染循环中的GL调用。@CatPlusPlus,这真的是原因吗?听起来很奇怪。但我想我会试试,只是为了确定。我还尝试了我的另一个GL程序,它使用很少的GL调用,它也得到了7fps…立即模式是众所周知的缓慢和过时。即使它与手头的问题无关,也不应该使用它。@CatPlusPlus,edit:i使用空场景测试,完全没有使用绘图,同一问题:7fps。然后向我们展示如何在OpenGL中进行绘图。在不知道的情况下,没有太多建议。将我的驱动程序更新到最新版本修复了此问题!