OpenGL全屏幕纹理将帧率降低到12fps

我已经在这一两个晚上磨了一下,任何提示将被认为:

我在旧笔记本电脑上安装了Linux(Debian),并且一直在用它编写一个OpenGL应用程序。 当在屏幕的一小部分上绘制纹理时,帧率大约为80fps。 当我在屏幕上越来越大的部分绘制纹理时,帧速率急剧下降。 全屏纹理将fps降至12。

我知道硬件能够以更快的速度渲染。 即使openGL在软件模式下运行..仍然看起来很慢。

任何指针诊断这将不胜感激,谢谢。 我是OpenGL的新手,所以可能是很明显的。

我试过的东西:

  • glxinfo已经让我知道笔记本电脑是能够硬件加速的opengl渲染。 虽然我不积极,它不是在软件运行,我相当肯定笔记本电脑安装在硬件opengl运行。

  • 我放弃了深度缓冲区,只需要在笔记本电脑支持的分辨率下请求24位屏幕缓冲区。 (还有一个backbuffer)。

  • 从GL_TEXTURE_MIN_FILTER,GL_LINEAR切换到GL_TEXTURE_MIN_FILTER,GL_NEAREST给我买了一些帧,但是它稍微超过20fps,这仍然太慢了。

  • 我已经从glShadeModel(GL_SMOOTH)切换到glShadeModel(GL_FLAT)。 我没有加速。

  • 我已经尝试渲染纹理作为vertexpointer和glBegin(GL_QUADS)调用。

在此先感谢,〜W

如果从BILINEAR(GL_LINEAR)切换到NEAREST会使帧率更好,那么您肯定是在运行软件渲染器。

请从命令行(这是从我的OSX,但应该在Linux上类似)做到这一点:

 # glxinfo | grep OpenGL OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA GeForce 8600M GT OpenGL Engine OpenGL version string: 2.1 NVIDIA-1.6.26 OpenGL shading language version string: 1.20 OpenGL extensions: