protonscr

FPS Inconsistency Across Multiple Games

dxvkclosed intel anv
doitsujin/dxvk#5353 · opened 2025-11-30 by VigneshR387 · updated 2026-02-21 · 7 comments · github
VVigneshR387 2025-11-30 github

Issue Description

Every game I've tried running through DXVK experiences this issue where the FPS tends to change randomly with each subsequent launch, sometimes dropping significantly. I can confirm this affects all games I've tested, including Hitman Absolution, GTA 4, and COD: Modern Warfare 2. For instance, in Hitman Absolution, my ideal FPS is around 38-45, which matches the benchmarking videos I watched for this exact game tested on my hardware specs. This FPS remains stable throughout the entire gameplay session with no performance degradation in between. However, when I close the game and launch it again, sometimes the FPS drops to the range of 27-32 and stays locked at that lower performance throughout the game session. Then, with yet another launch later, it might randomly drop back to the ideal range of 38-45 FPS. This FPS drop or inconsistency is completely random, making it very hard to reproduce consistently. One thing I noticed is that switching DXVK versions temporarily gives back my ideal FPS, but later it falls under the same issue again. Importantly, I tested the same game (Hitman Absolution) on Windows and I get consistent FPS with no such drops with each launch.

Software Information

  • Games: Hitman Absolution (GOG)
  • Runner: Lutris with Wine 10.19, gamemode + mangohud
  • Settings: Native 1280x720, default in-game graphics, DXVK enabled
  • Mods/Addons: None

System Information

  • GPU: Intel HD Graphics 620 (KBL GT2), i915 kernel driver
  • CPU: Intel Core i3-7020U
  • Driver: Mesa 25.2.7-cachyos1.2 (Vulkan 1.4.328)
  • Wine version: Wine 10.19
  • DXVK version: 2.7.1

Api Trace:

https://drive.google.com/file/d/1_H1E0ofZ60CicqJUuqmAnHPS6kaRre61/view?usp=sharing
The games crashes when adding dll files to the game exe directory.

Image

Things I tried to toubleshoot

  • Checked if the shader was compiling with each launch
  • Tested on both X11 and Wayland
  • Disabled KDE Plasma compositor
  • Tried Different Wine versions: staging 10.19, stable 10.7, GE 8.26, Proton-CachyOS
  • Tried Different DXVK versions: 2.7.1, 2.6.2, 1.10.3, 2.4, 2.5.3
  • Changed Distros: CachyOS (current), Garuda Linux
  • Filesystems: Ext4 and BTRFS
  • Tried different Kernels: CachyOS kernel, linux-zen, linux-lts
  • Kernel parameters: split_lock_detect=off, mitigations=off

Log files

game.log

Screenshots

Sorry for the bad image quality. Taking screenshots with kde Spectacle causes the fps to drop.

Image
Image

Image Image
Ddoitsujin maintainer 2025-11-30 github

This isn't really known to happen on any kind of system, at least not across a wide variety of games. Not sure if Intel IGP memes are happening here, but if this was an issue on e.g. Deck (or anything else really) I'm fairly sure we'd have heard about it by now.

Edit: One thing that comes to mind is that maybe there's a bios setting that assigns 512MB to to the integrated GPU or something and the Intel kernel driver doesn't like when we go above 512MB usage or something. That's the one thing that's a bit sus about the screenshot where it's running slowly, I wonder if it's just moving memory around constantly for no reason.

VVigneshR387 2025-12-02 github

One thing that comes to mind is that maybe there's a bios setting that assigns 512MB to to the integrated GPU or something and the Intel kernel driver doesn't like when we go above 512MB usage or something.

I just Checked my bios and i coudn't find any settings to change the allocated vram. From what i read online, the system allocates vram based on the ram installed on the system for intel gpu's.

That's the one thing that's a bit sus about the screenshot where it's running slowly, I wonder if it's just moving memory around constantly for no reason.

Could you clarify what exactly that implies? I didn’t fully understand what kind of memory movement or behaviour you were referring to.

Ddoitsujin maintainer 2025-12-02 github

What I mean is that there's a non-zero chance that the Intel kernel driver might be moving allocations between some portion of memory that's reserved for the GPU and the "remaining" memory. AMDGPU had a very similar problem in the past.

Should be visible in perf top when a game is running slower than expected, if this is indeed the problem.

VVigneshR387 2025-12-02 github

What I mean is that there's a non-zero chance that the Intel kernel driver might be moving allocations between some portion of memory that's reserved for the GPU and the "remaining" memory. AMDGPU had a very similar problem in the past.

Should be visible in perf top when a game is running slower than expected, if this is indeed the problem.

Oh, I see.
Is there a way to capture the output of perf top to a log file while the game is running slowly, so I can share it with you? I’m not very familiar with reading the perf output, so having you look at it would be really helpful.

Nnetborg-afps 2026-02-08 github

I'm experiencing this when trying to benchmark Rise of the Tomb Raider. When I load into a level, the fps are at 180 fps or at 195 fps and stay that way. Cannot say I've noticed it in other games, but certainly happens in this game. (on Nvidia here)

VVigneshR387 2026-02-20 github

I'm experiencing this when trying to benchmark Rise of the Tomb Raider. When I load into a level, the fps are at 180 fps or at 195 fps and stay that way. Cannot say I've noticed it in other games, but certainly happens in this game. (on Nvidia here)

Do you have Asymmetric Dual-Channel setup (i.e two ram sticks of different size and speed)? That seems to be the issue for me. I have a base 4GB ram (Soldered) and a 8GB additional ram stick, and this kind of ram configuration tends to cause instability. So I tried swapping the 8GB ram with a 4GB one of same speed and that seem to have solved the problem for me.

Nnetborg-afps 2026-02-21 github

@VigneshR387 I have two identical RAM sticks, but as said, this issue is pretty minor in my case. But data layout in RAM could very well be the culprit.

Nothing extracted yet.