Periodic FPS drops using RX 6600

I’ve recently been getting weird periodic FPS using an RX 6600 that’s only about two months old on a fresh install. Games will be running smoothly at 60 FPS and then will start to fluctuate anywhere between 30-50 FPS (even when not under load) typically for around 5-10 seconds until they return back to 60 FPS for some time until the drops happen again, repeating periodically. Other troubleshooting steps (which haven’t fixed the issue) I’ve done includes trying mesa-git, different kernels (5.15, 5.16, and 5.17 all face the same issue) changing the PCI-E connector, reinserting the GPU, setting minmum GPU clock speed to match maximum clock speed, and increasing the power limit. BIOS is up to date as is practically everything else.

inxi -CGMmazy

  Type: Desktop System: Gigabyte product: B450M DS3H WIFI v: N/A
    serial: <superuser required>
  Mobo: Gigabyte model: B450M DS3H WIFI-CF serial: <superuser required>
    UEFI: American Megatrends LLC. v: F64a date: 02/17/2022
  RAM: total: 15.61 GiB used: 6.33 GiB (40.5%)
  RAM Report:
    permissions: Unable to run dmidecode. Root privileges required.
  Info: model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701021
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB desc: 6x512 KiB
    L3: 32 MiB desc: 2x16 MiB
  Speed (MHz): avg: 2337 high: 2633 min/max: 2200/4208 boost: enabled
    scaling: driver: acpi-cpufreq governor: ondemand cores: 1: 2546 2: 2239
    3: 2208 4: 2575 5: 2078 6: 2313 7: 2488 8: 2319 9: 2293 10: 2633 11: 2118
    12: 2240 bogomips: 86271
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2
    mitigation: Retpolines, IBPB: conditional, STIBP: conditional, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
  Device-1: AMD Navi 23 [Radeon RX 6600/6600 XT/6600M] vendor: ASRock
    driver: amdgpu v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 ports:
    active: HDMI-A-1 empty: DP-1,DP-2,DP-3 bus-ID: 0c:00.0 chip-ID: 1002:73ff
    class-ID: 0300
  Device-2: DisplayLink Dell D3100 Docking Station type: USB driver: usbfs
    bus-ID: 1-9.1:6 chip-ID: 17e9:436e class-ID: fe01 serial: <filter>
  Device-3: Focusrite-Novation Scarlett 2i2 Camera type: USB
    driver: snd-usb-audio,usb-storage bus-ID: 3-2:2 chip-ID: 1235:8210
    class-ID: 0806 serial: <filter>
  Display: wayland server: v: with: Xwayland v: 22.1.1
    compositor: gnome-shell v: 42.1 driver: X: loaded: amdgpu,modesetting,radeon
    alternate: fbdev,vesa gpu: amdgpu,evdi display-ID: 0
  Monitor-1: DVI-I-1 model: Acer VW237Q serial: <filter> built: 2020
    res: 1920x1200 dpi: 100 gamma: 1.2 size: 488x297mm (19.21x11.69")
    diag: 571mm (22.5") ratio: 15:9 modes: max: 1920x1200 min: 720x400
  Monitor-2: HDMI-A-1 model: Acer VW237Q serial: <filter> built: 2018
    res: 1920x1200 dpi: 100 gamma: 1.2 size: 488x297mm (19.21x11.69")
    diag: 571mm (22.5") ratio: 15:9 modes: max: 1920x1200 min: 720x400
    renderer: AMD DIMGREY_CAVEFISH (LLVM 13.0.1 DRM 3.44 5.17.9-1-MANJARO)
    v: 4.6 Mesa 22.0.4 direct render: Yes

This sounds like throttling to me. Have you monitored your temperatures? Maybe load goes near upper limits, then heat kicks up faster than expected, and it begins to limit.

Sorry for the late response, but I’m still facing issues; temperatures rarely go above 70C and typically stay at around the 55-60 range. GPU usage and wattage also seem to drop when the FPS drops happen. I am using a B450M motherboard and the card is using a PCIE-3 connector which I’ve heard can lead lower FPS overall, but I’m doubtful that it would cause periodic drops.

@choppermask maybe shader compilation? Some directx windows game do that constantly. The result on dxvk translation layer is frame drops or micro freezes, even if the shader cache is there. But it really depends on the game and its engine.

My last card, an RX 570, didn’t really have these issues with the same games, or at least not as frequently as I’ve noticed with the RX 6600, so I’m not sure that DXVK is to blame. May just unfortunately be the card itself as I did exchange the one I purchased initially for a new one with my warranty but saw the same results. I would like to be able pinpoint/verify what it is, though, but I’m not sure what other steps to take to do so, if there are any. Any suggestions would be appreciated, though!