[High On Life] Part 1: Intermittent Stuttering with RX 6800XT
Problems
I've split this into two issue reports as requested:
- Part 1: framepacing and stuttering with MESA (this ticket)
- Part 2: MESA has worse FPS than AMDVLK (see: #10312)
System information
- OS:
Arch Linux 64 bit
- CPU:
Ryzen 9 5950X
- Freesync/VRR: Active (OSD shows the refresh rate/FPS)
- GPU:
RX 6800 XT
*-display description: VGA compatible controller product: Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73BF] vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002] physical id: 0 bus info: pci@0000:0b:00.0 logical name: /dev/fb0 version: c1 width: 64 bits clock: 33MHz capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb configuration: depth=32 driver=amdgpu latency=0 mode=3840x1600 resolution=3840,1600 visual=truecolor xres=3840 yres=1600 resources: iomemory:780-77f iomemory:7c0-7bf irq:112 memory:7800000000-7bffffffff memory:7c00000000-7c0fffffff ioport:e000(size=256) memory:fcc00000-fccfffff memory:fcd00000-fcd1ffff
- Kernel version:
Linux client 6.6.6-1-cachyos #1 SMP PREEMPT_DYNAMIC Thu, 14 Dec 2023 21:21:08 +0000 x86_64 GNU/Linux
- Mesa version:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.0.0-devel (git-9ab59574ef)
- Wayland:
sway version 1.9-dev-92ad6641 (Dec 15 2023, branch 'makepkg')
- XWayland:
The X.Org Foundation Xwayland Version 23.2.3 (12302003) X Protocol Version 11, Revision 0
- DXVK version: git (https://github.com/doitsujin/dxvk/commit/1b31aa5dbca0749d0737cff02043acb061332fb6)
- VKD3D: git (https://github.com/HansKristian-Work/vkd3d-proton/commit/105b5b77c9a34fd336b5c604e3c7a6cc48f39c3a)
- Wine: git (
9.0rc2.r0.g7a8c039a5c3-1
)
Describe the issue
Reproduction
Start High On Life
(UE4 game) > Complete the introduction (as it's just a lag-free retro 2D mission before you actually start the game):
- Once you're in the safehouse, there will be minor intermittent stuttering which never goes away.
- If you leave the house it gets slightly worse.
- After completing the first real mission you'll get to a populated city where the intermittent stuttering is massive and makes it unplayable as lag spikes causes frame hiccups even though the FPS is usually between 100~120 fps.
Framegraph of moving the mouse in circles in the city with medium graphics (edit: please scroll down to #10309 (comment 2210896) for updated results):
Observations
- The stuttering is worst when looking at new assets for the first time (e.g. entering a new area or after loading a level).
- Going around in circles in the same place causes uneven frame pacing and intermittent stuttering
What I've tried
-
Switching between D3D12 and D3D11
- Switching from
-dx11
(default/DXVK) to-dx12
(VKD3D) improves FPS difference andstuttering seems to be identical(edit: it's a lot worse in highly populated areas with-dx12
. I made this issue into a VKD3D ticket: https://github.com/HansKristian-Work/vkd3d-proton/issues/1812).
- Switching from
-
Working around bugs in Memory Cleaning/Zeroing of VRAM
-
0001-drm-amdgpu-WIP-always-wipe-on-release.patch
kernel patch made no difference. Reference: #9189 (comment 1999381) -
radv_zero_vram=false
environment variable has no effect either. Reference: #9189 (comment 2016587)
-
-
Working around power management
- Using Power Profile Mode:
1
(3D_FULL_SCREEN) + DPM Level:manual
improves FPS but not the stuttering. Reference: drm/amd#1500 (comment 1854170)
- Using Power Profile Mode:
-
Lowest settings
- The stuttering isn't as bad with lowest settings but it's still there even though the minimum fps is 139 and average 144 (monitor's refresh rate). The monitor uses Freesync which allows me to play other games with 60 FPS with no hiccups! Yes, the refresh rate is correctly adjusted to in-game FPS (which is confirmed by monitor's OSD refresh rate)
Log files as attachment
Edited by GrabbenD