Bug 98996

Summary: Counter Strike: Global Offensive performance on Radeon Polaris
Product: Mesa Reporter: Christoph Haag <haagch>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED WORKSFORME QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: KOTI-P-scholar
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 77449    
Attachments: screenshot csgo native
screenshot csgo gallium nine
performance with amd-staging-4.9 and mesa git

Description Christoph Haag 2016-12-05 11:04:07 UTC
Created attachment 128344 [details]
screenshot csgo native

This has always been problematic and since csgo is the second most played game on Steam I do believe it warrants some attention.

Attached is a screenshot of csgo made with Linux 4.8 and latest mesa git with gallium hud visible. It's 1920x1080 with the ingame settings set to lowest (only multithreaded rendering enabled).

I believe the average FPS score pretty well, but the actual low FPS when there is a lot of action on the screen makes it almost unplayable. The main issue will probably be the low GPU load, it appears severely bottlenecked.

Hardware should be more than enough to get a smooth experience:
Intel Core i5-6500
XFX Radeon RX 480 XXX OC
2x 8GB Ballistix Sport LT Red DDR4-2400 UDIMM
Comment 1 Christoph Haag 2016-12-05 11:22:25 UTC
Created attachment 128345 [details]
screenshot csgo gallium nine

For comparison purposes, here is a screenshot of the windows version with gallium nine. Same hardware, same software.

Note the high GPU load (It only has large drops when you die and it plays the "killcam" animation), higher CPU load and much smaller buffer wait times.

Valve said lower performance is expected because of their shader translation with togl, but this seems extreme.
Comment 2 Christoph Haag 2017-04-11 18:05:14 UTC
Created attachment 130804 [details]
performance with amd-staging-4.9 and mesa git

Screenshot with out of the box performance on latest amd-staging-4.9 and mesa git.

I've implemented a "low fps" HUD graph (https://github.com/ChristophHaag/mesa-mesa/commit/10d99ae2b8b87c72dc1c405d6ed3ef4a4eaf537f) that calculates the FPS based on the longest time between two frames in the period. Still not completely accurate since it's the time between two hud update calls, but in my experience a good indicator. You can definitely feel a slight stutter throughout the game.

echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level improves it somewhat, but you still do not get smooth gameplay.
Comment 3 Michel Dänzer 2017-04-12 01:43:00 UTC
Might be worth investigating the buffer waits, e.g. 80 ms corresponds to almost 5 display refresh cycles.
Comment 4 Timothy Arceri 2019-06-25 01:04:05 UTC
There have been many performance improvements to the drivers since this was reported, and nobody else has since complained of performance issue with this game. I'm going to close this for now. Feel free to reopen with updated information if this is still an issue.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.