Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL在我的计算机上的低性能_C++_Performance_Opengl_Ubuntu - Fatal编程技术网

C++ OpenGL在我的计算机上的低性能

C++ OpenGL在我的计算机上的低性能,c++,performance,opengl,ubuntu,C++,Performance,Opengl,Ubuntu,我们在学校开始学习OpenGL,特别是实现了.obj网格加载程序。当我在学校使用相当重的网格(4米到17米的面)运行代码时,我必须等待几秒钟才能加载网格,但一旦加载完成,我可以以完美的流动性旋转和移动场景 我在家里编译了相同的代码,在显示重网格的场景中移动时,我的性能非常低 我使用的是OpenGL的3.0 Mesa 10.1.3版本(这是coutTL的输出;DR:您使用了错误的驱动程序。安装NVidia专有的、封闭源代码的二进制驱动程序,您将获得非常好的性能。此外,使用GeForce 605,您

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

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


我使用的是OpenGL的
3.0 Mesa 10.1.3
版本(这是
coutTL的输出;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形成了鲜明的对比,AMD GPU拥有完整的文档覆盖范围,可以公开访问驱动程序相当成熟;完整的OpenGL-3.3核心支持,对于大多数应用程序来说性能足够好,在某些应用程序中甚至超过AMD的专有驱动程序。OpenGL-4支持在Mesa整体上正在进行中,上次我检查“radeon”驱动程序的开发速度实际上比Mesa OpenGL状态跟踪器本身要快。

我对Linux非常陌生,没有听到这样的评论:
我建议您使用那些可通过软件包管理器安装的;您必须添加一个“非自由”不过要打包源代码存储库。
。另外,我刚刚安装了Linux,所以您的答案很可能是准确的,因为我还没有考虑安装“Linux驱动程序”对于我的GPU。@Dici:好吧,说实话:NVidia GPU是目前唯一的硬件,你必须手动安装一些第三方驱动程序才能使它们正常工作。几乎所有其他硬件都是开箱即用的,你不必在意(有些地方有严重的裂缝,但现在大多数只有开发人员才能看到)。无论如何,你想看看这个:谢谢,等我有时间的时候我会看一看,现在我需要睡觉(凌晨2:51,早上8点工作)。我无法用给定的.run文件安装专有驱动程序(在Nvidia网站上),我明天会再试一次,如果你的回答能解决我的问题,我会接受:)