Bug 96790

Summary: frame stuttering in ut2004
Product: Mesa Reporter: network723
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg
Xorg.log
glxinfo
lspci
screenshot

Description network723 2016-07-03 13:46:44 UTC
My hardware: HD7950 & Phenom II x6 1090
The problem: intensive frame stuttering and frame rate drops below 30 fps while playing UT2004. Drops usually happen when there is intensive shooting, but it may also happen on maps with complex geometry.

Also, in-game fps counter shows 'avg fps' about 90-200, with rare jumps to 300-400 fps, even with vblank_mode=0 set. 64 bit version of the game on Windows shows stable 300+ fps with OpenGL renderer.

I wonder if this may be related to AMD CPU, since various test results on Phoronix show much greater performance (up to 5 times) with Intel CPU and same GPU.
Comment 1 Michel Dänzer 2016-07-04 07:42:21 UTC
Please attach the corresponding Xorg log file and output of glxinfo and dmesg.
Comment 2 network723 2016-07-04 08:36:08 UTC
Created attachment 124884 [details]
dmesg
Comment 3 network723 2016-07-04 08:36:40 UTC
Created attachment 124885 [details]
Xorg.log
Comment 4 network723 2016-07-04 08:37:03 UTC
Created attachment 124886 [details]
glxinfo
Comment 5 network723 2016-07-04 08:37:20 UTC
Created attachment 124887 [details]
lspci
Comment 6 network723 2016-07-04 08:39:36 UTC
radeon kernel module was patched to provide everything needed for OpenGL 4.3/compute shader. If you want, I may test with vanilla kernel.
Comment 7 Michel Dänzer 2016-07-04 09:22:31 UTC
Can you run the game with the environment variable

 GALLIUM_HUD=fps,requested-VRAM+VRAM-usage,requested-GTT+GTT-usage,cpu+temperature+GPU-load,num-bytes-moved,buffer-wait-time,num-compilations+num-shaders-created

, grab a screenshot within a minute of the framerate dropping below 30 fps, and attach it here?
Comment 8 network723 2016-07-04 10:13:11 UTC
Created attachment 124891 [details]
screenshot

This is closest I could get. Taking the screenshot was a bit tricky. Looks like GALLIUM_HUD update time is to low to detect fps drops. You can see it in in-game counter "cur_fps" when it gets violet, but it's almost impossible to take a screenshot exactly in that moment.
Comment 9 Michel Dänzer 2016-07-05 00:52:28 UTC
Do the drops correspond to the small bumps on the lowermost graph?
Comment 10 network723 2016-07-05 10:28:22 UTC
Yes, looks like they do correspond bumps on last graph.
Comment 11 Michel Dänzer 2016-07-06 02:38:48 UTC
So it looks like the drops are due to shader compilations. Given that you're using current LLVM SVN & Mesa Git, that should only happen if the application explicitly asks to compile new shaders. Marek pushed changes to Mesa Git master this week which might help somewhat, otherwise a persistent shader cache may be the only hope.
Comment 12 Timothy Arceri 2018-04-11 05:46:25 UTC
We now have both an in memory and on disk shader cache so this situation should be much better now. Closing.

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.