OpenGL在我的计算机上性能低下

OpenGL low performances on my computer

本文关键字:性能 计算机 我的 OpenGL      更新时间:2023-10-16

我们从学校开始学习OpenGL,特别是实现了.obj网格加载器。当我在学校用相当重的网格(4M到17M个面)运行代码时,我必须等待几秒钟才能加载网格,但一旦加载完成,我就可以以完美的流动性旋转和移动场景。

我在家里编译了同样的代码,在显示重网格的场景中移动时,性能非常低。

我使用的是OpenGL的3.0 Mesa 10.1.3版本(这是cout << glGetString(GL_version) << endl的输出),并使用g++-4.9进行编译。我不记得我学校的版本号了,但如果需要,我会尽快更新我的消息。最后,我在Ubuntu 14.04上,我的显卡是Nvidia Geforce 605,我的CPU是Intel(R)Core(TM)i5-2320 CPU@3.00GHz

如果你有任何想法可以帮助我理解(并修复)为什么它在一台相当好的计算机上运行如此缓慢(当然不是赛马,但足够好),请告诉我。提前感谢!

TL;DR:你用错了驱动程序。安装NVidia的专有闭源二进制驱动程序,您将获得非常好的性能。此外,使用GeForce 605,您应该可以获得一些OpenGL-4.x支持。


我使用的是OpenGL的3.0 Mesa 10.1.3版本(…)我的显卡是Nvidia Geforce 605

这就是你的问题。Mesa的NVidia GPU的开源"Noveau"驱动程序距离提供任何合理的硬件加速支持都有很长的路要走。这是因为NVidia没有发布公开的GPU低级别编程文档。

因此,目前在GPU上获得硬件加速OpenGL的唯一选择是安装NVidia的专有驱动程序。它们可以在NVidia的网站上找到;然而,由于你的GPU现在不是"出血边缘",我建议你使用那些可以通过软件包管理器安装的;不过,您必须添加一个"非自由"包源存储库。

这与AMD GPU形成了鲜明对比,后者拥有完整的文档覆盖范围,可以公开访问。正因为如此,梅萨的"radeon"车手相当成熟;完整的OpenGL-3.3核心支持,性能对于大多数应用程序来说都足够好,在某些应用程序中甚至优于AMD的专有驱动程序。OpenGL-4对Mesa的支持正在进行中,上次我检查"radeon"驱动程序的开发速度实际上比Mesa OpenGL状态跟踪器本身更快。