[radv/rt] fluctuating ray tracing fps drops due to alternating lower power consumption
Description
The RT performance changes in the same scene despite the gpu utilization showing 99%. But the power consumption drops massively indicating that it is the reason for the RT fps getting halved or even worse.
This behaviour especially occurs in older RT titles like The Riftbreaker and nvidia sponsored titles like remedy's AW2 and sadly also ALL nixxes "console to pc ports" like Marv's Spi-Man Rema.
Steps to reproduce
This behaviour occurs reproducibly by shutting RT on and off and despite waiting a few seconds after that for shader compilation to be finished. Also it can be initiated by switching output modes between "windowed", to "exclusive fullscreen" and "windowed fullscreen" and vice versa together with vsync on and off. And it happens also on windows at least with older amd gpu drivers.
This does not happen on titles like F1 22 that shows constant power consumption and RT fps. Only once both also dropped by simply changing vsync to different settings.
On windows AMD improved RT performance in remedy's AW2 with recent drivers backing up my observations and hours of testing. They somehow managed to workaround the poor optimization for amd gpus by lifting the power utilization. It sometimes takes time to recover though. Before their latest driver (Preview Driver for AFMF 23.40.01.10.) the fps and power utilization dropped as well.
Side Note
It may be advisable to reevaluate taking those problematic and compromised titles as reference points for measuring RT in the mesa radv development progress.
System information
- OS: Fedora 39
- GPU: RX 6650 XT
- Kernel version: kernel 6.7.1-0
- Mesa version: mesa-git radv 24.1.0-development
- Desktop environment: GNOME Shell 45.3
If applicable
- Xserver version: X.Org X Server 1.20.14
- DXVK version: doesn't support RT
- Wine/Proton version: VKD3D v2.11.1
Further information (optional)
Does the issue reproduce with the LLVM backend (RADV_DEBUG=llvm
) or on the AMDGPU-PRO drivers?
Untested with those but counter checked with amd's windows driver!
Does your environment set any of the variables ACO_DEBUG
, RADV_DEBUG
, and RADV_PERFTEST
?
No!