godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.03k stars 20.19k forks source link

Slow performance on Linux-based systems (hardware/driver dependent) #4799

Closed CheeryLee closed 7 years ago

CheeryLee commented 8 years ago

Hello! My hardware: Intel Pentium E2200, 4 Gb RAM, ATI HD 4650. I use Arch Linux (but it doesn't matter, because I get the same performance on all Linux-based systems) with opensource videodriver on my PC. With each Godot versions I get 10-15 FPS in Truck Town sample. In an empty scene everything is better, but it is far from ideal. Work becomes impossible.

On Windows 8.1 with proprietary driver everything works fine. By the way, I can't install proprietary driver on Arch, because AMD canceled the support of my card since 2013.

Maybe there is a way to solve the problem?

ghost commented 7 years ago

Tested directional light demo from #8009. Performance is around 850 fps http://i.imgur.com/CPePSCn.png glxinfo output: OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD POLARIS10 (DRM 3.3.0 / 4.8.0-41-generic, LLVM 3.8.1) OpenGL core profile version string: 4.1 (Core Profile) Mesa 12.0.6 OpenGL core profile shading language version string: 4.10 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 12.0.6 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 12.0.6 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions:

For comparison, Calinou with GTX1080 gets around 1500 fps

Gibbz commented 7 years ago

Just tested mesa git 17.1 and have not noticed any performance improvement. My project still is about 6-10 fps, while on another machine, running mesa 17.0 gets 60fps. Both on AMD gpu's.

27thLiz commented 7 years ago

The bottleneck that caused this seems to be resolved with the new renderer. With godot 2.1 the Astrid game is barely playable on my HD7870 with mesa drivers. On the master branch everything is fine, fps are as expected.

Gibbz commented 7 years ago

The issue still exists on godot 3.0 for me.

eon-s commented 7 years ago

There are new "rendering" options you can lower or turn off to get better performance, these are project settings but affects the editor, it should have its own "editor" settings for lower quality while editing...

Gibbz commented 7 years ago

Im thinking at this stage it may be a draw call issue? With my high resolution terrain on screen its fine at almost 60fps. Soon as i add a few simple cube meshes to the same scene performance drops down to about 4-10fps....

reduz commented 7 years ago

On Godot 3.0 and AMD mesa, performance was really bad. With propertary AMD it was great, as well as NVidia.

Unfortunately all we can do is ask the MESA devs to fix the performance problems on their side.

On Apr 23, 2017 8:40 AM, "Gibbz" notifications@github.com wrote:

Im thinking at this stage it may be a draw call issue? With my high resolution terrain on screen its fine at almost 60fps. Soon as i add a few simple cube meshes to the same scene performance drops down to about 4-10fps....

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/issues/4799#issuecomment-296423259, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-Z25z5BNHxD-55kbfO1exvg1sDMC__ks5ryvJcgaJpZM4Ilm80 .

eon-s commented 7 years ago

The demos that run slow here on 2.x are Kinematic and Platformer (on 2 AMD cards, super old and not so old), the only relation I see is the Gridmap...

Removing the Gridmap everything returns to normal.

Gibbz commented 7 years ago

Can i ask anyone else with this issue: Do you have 1 cpu core maxing out at 100% and the remaining cores sit at 2-4%? Im wondering if the cpu is choking causing the frame rate to drop...

retrotails commented 7 years ago

@Gibbz I'm back on stable mesa drivers so I still have the issue, and no its pretty even across cores. https://i.imgur.com/NOGytap.png

TritiatedWater commented 7 years ago

I used to have this issue on Manjaro untill i updated mesa to 17.1. I'm using the open source amdgpu with my rx 480.

camrodgers commented 7 years ago

I'm on mesa 17.1 and AMDGPU, the issue is fixed for me as well in Godot 2.

eon-s commented 7 years ago

With Mesa 17.1 the issue with GridMap is gone too.

akien-mga commented 7 years ago

Kudos to the Mesa devs then :)

I propose to close this issue, and have people still experiencing issues with recent drivers open new ones. There are likely several sources of performance bottlenecks based on the hardware/driver/platform, so having everything in the same issue is not really helpful.