2016-11-04 137 views
-2

我正在为一个学校项目开发一个openGL游戏,我遇到了性能问题。我在Ubuntu上,使用eclipse indigo 8.0.2和makefile项目。我的电脑是双GPU(集成英特尔和专用nVidia)的笔记本电脑,所以我怀疑所用的GPU是集成的,而不是专用的。OpenGL Linux性能不佳nVidia

我用glxgears测试了图形。据推测,结果是60fps。然后我用glxinfo找出了渲染器设备,发现集成卡确实在使用。

经过一番研究,我发现最新的nVidia驱动nvidia prime发布了(新的双GPU管理)。所以我成功安装了nvidia prime的最新驱动程序。

之后,我再次尝试glxgears,现在我的价值在10000fps左右,glxinfo也显示专用GPU正在使用。

我还检查了GPU利用率,同时运行glxgears来三重检查并且利用率为100%。这证实了glxinfo向我展示了什么。

现在,问题是,当我在安装新驱动程序后执行我的openGL游戏时,没有性能改进。

我在运行我的游戏时检查了GPU利用率,大约是20%。

当我的游戏保持在20%以下,运行在集成GPU上的运行速度为20fps时,glxgears如何使用100%的GPU(并以10000fps而不是60fps运行)

我认为20fps太少考虑我的GPU(nvidia GT555m)能够运行比我的项目游戏更复杂的游戏方式(它只是一个带有摩托车和其他物体的赛车模拟器,如一些树木,赛道,低分辨率的环境),甚至在40+ fps。

我希望我解释了我的问题,并有人有任何想法。谢谢。

回答

0

怎么可能是用glxgears使用GPU的100%(在10000fps而不是60fps的运行),而我的游戏保持在20%和〜20fps的运行,因为它是在集成GPU上运行?

你的游戏是CPU的约束。时间来分析您的代码。

+0

感谢您的评论。你的意思是“分析你的代码”? – Drakem

+0

@Drakem:https://en.wikipedia.org/wiki/Profiling_(computer_programming) – datenwolf