https://bugs.freedesktop.org/show_bug.cgi?id=84663
Bug ID: 84663 Summary: high cpu usage, poor performance in Borderlands 2 with radeonsi, PRIME Product: Mesa Version: git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: haagch@frickel.club
Created attachment 107328 --> https://bugs.freedesktop.org/attachment.cgi?id=107328&action=edit sysprof recording from borderlands 2 only
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wimbledon XT [Radeon HD 7970M] (rev ff)
xorg stable, mesa git, linux 3.17-rc7.
I have had something similar in some games I think, but most recently with Borderlands 2.
Here is a random screenshot with the HUD fps display from someone with a HD 7870 that shows that it runs mostly with 60 fps: https://i.imgur.com/qH0sBkl.jpg
And here is a short clip of how it runs for me that shows it runs with 20-30 fps: https://www.youtube.com/watch?v=ZeZreRntt3k Radeontop says that the gpu is only used to ~30%. While running Borderlands 2 the CPU usage is always at 100+% on my i7 3632qm.
I was undecided whether to report this here, but the difference is quite large so I thought I'd give it a try because I think the game itself is not supposed to use this much cpu time, so maybe it has something to do with the driver.
Theories:
< glennk> guessing from that output that the game engine uses a lot of occlusion queries and is stalling on them
I haven't really found anything to test that yet.
< agd5f> haagch, hybrid laptops have to do a lot of extra copying to get the frame from the rendering GPU to the display GPU
I hope that the overhead is not *that* large because losing 70+% of gpu time would make it kind of useless for the affected games.
Fortunately many (most?) games run much better, for example unigine valley shows good gpu usage: https://www.youtube.com/watch?v=sLWvYJlfvWM which makes me believe that there is a specific bottleneck.
Attached is a sysprof profile of borderlands 2 but I don't know which of it is normal (like 25% total cpu time for glDrawRangeElements?).