protonscr

GTA4 Running at 60fps after DXVK but looks like 30fps

dxvkclosed d3d9windows
doitsujin/dxvk#4617 · opened 2025-01-16 by DatArtichokeDoe · updated 2025-06-05 · 22 comments · github
DDatArtichokeDoe 2025-01-16 github

I just installed DXVK on my Steam Complete Edition version of GTA 4 and the game is running at 60fps according to any FPS counter I use, but visually to my eye it doesn't look smooth at all and resembles 30fps gameplay honestly. I'm not sure what the issue is. I made sure to allow all my available Video Memory. I also have FusionFix installed, along with Console Visuals. I've tried various different graphics settings but nothing seems to make any difference. Regardless of the settings, the fps show as a consistent 60fps. Any help would be much appreciated!

Software information

Grand Theft Auto IV

System information

  • GPU: RTX 3080
  • Driver: GeForce Game Ready Driver Version 566.36
  • DXVK version: 2.5.3
Qqinlili23333 2025-01-16 github

I think you are on Windows right? Please provide detailed system version (e.g. Ubuntu 24.04 or Windows 11 24H2)

If you are on Windows, can you try native DX? Is it smoother than DXVK? Can you use PresentMon to check presented FPS and latency?

BBlisto91 2025-01-16 github

Try making a file called dxvk.conf next to the exe and insert dxvk.allowFse = True

MMals1n 2025-01-16 github

Try making a file called dxvk.conf next to the exe and insert dxvk.allowFse = True

I'm using FSE on GTA IV too, it's really amazing with VRR monitor, amazing update, so smooth !

DDatArtichokeDoe 2025-01-17 github

I think you are on Windows right? Please provide detailed system version (e.g. Ubuntu 24.04 or Windows 11 24H2)

If you are on Windows, can you try native DX? Is it smoother than DXVK? Can you use PresentMon to check presented FPS and latency?

I'm running on Windows 11 Home 64-bit (10.0, Build 26100)
Using Presentmon, it's showing a consistent 60.0fps with a Frame Time Average of 16.7ms
However, I can physically see the frame drops in actual gameplay, despite them not being shown accordingly on Presentmon.
I don't believe I can update the regular DX version GTA IV uses as, without the installation of DXVK, GTA IV uses DirectX9 and isn't able to be updated. It also might be worth mentioning that GTA 4 is a 32-bit program so I'm using the 32-bit version of DXVK.

EDIT: I installed an older version of DXVK and it works fine. So maybe GTA IV is just incompatible with DXVK 2.5.3 for some reason? I installed 2.3.1 and it works.

DDatArtichokeDoe 2025-01-17 github

Try making a file called dxvk.conf next to the exe and insert dxvk.allowFse = True

I thought that might fix it too, but unfortunately that didn't seem to make a difference.

Qqinlili23333 2025-01-17 github

I installed an older version of DXVK and it works fine.

Then it should be a regression issue.

Can you check logs to see whether your conf file enabled fse on 2.5.3? If the conf is recognized it should appear in logs. You may also try 2.5.1 as it's the last version with fse enabled by default.

If fse is working on 2.5.3 but still laggy, but 2.3.1 works well you may need to do a bisect to find from which version it is broken. Bisect is a method that always select the middle version between the first broken version you know and the last working version you know, until you find which version breaks things.

DDatArtichokeDoe 2025-01-17 github

I installed an older version of DXVK and it works fine.

Then it should be a regression issue.

Can you check logs to see whether your conf file enabled fse on 2.5.3? If the conf is recognized it should appear in logs. You may also try 2.5.1 as it's the last version with fse enabled by default.

If fse is working on 2.5.3 but still laggy, but 2.3.1 works well you may need to do a bisect to find from which version it is broken. Bisect is a method that always select the middle version between the first broken version you know and the last working version you know, until you find which version breaks things.

2.5.1 works fine as well so I'm assuming FSE was the issue.

Qqinlili23333 2025-01-17 github

2.5.1 works fine as well so I'm assuming FSE was the issue.

Then seems your conf for 2.5.3 is not recognized.
Ensure dxvk.allowFse = True is in dxvk.conf, launch with 2.5.3 then check log file to see whether it's in the log. If it's not in log, then your location for dxvk.conf is wrong.

dxvk.conf should put in game working path (not always binary folder), the best way to find working path is find the location where dxvk generate logs.

I've made a special test version that enables fse for gta4. You may try this branch and see whether it works. If it works then that must be your configuration file is not recognized as expected. https://github.com/qinlili23333/dxvk/actions/runs/12822794747

BBlisto91 2025-01-17 github

Make sure that conf is the actual file extension/type. If you are creating the file first as a text document but File Explorer isn't set up to show the extension/file in the name then it might be actually be a dxvk.conf.txt.

Screenshots

Image
Image

Llextra2 2025-01-17 github

An easy way to check if your dxvk.conf is read would be to add
dxvk.hud = fps to it.

Now when you start the game, there should be a text at the top left.

JJunglbob 2025-01-20 github

I noticed 2.5.2 and 2.5.3 versions don't like fps limiters, with 2.5.1 ver. I can set 60 fps limit in nvidia control panel on my 75hz monitor and no problems, but last two versions give me micro-stuttering in all games, the only solution is to disable fps limiter.

Qqinlili23333 2025-01-20 github

I noticed 2.5.2 and 2.5.3 versions don't like fps limiters, with 2.5.1 ver. I can set 60 fps limit in nvidia control panel on my 75hz monitor and no problems, but last two versions give me micro-stuttering in all games, the only solution is to disable fps limiter.

Are you using windowed mode or fullscreen? From 2.5.2 fullscreen behavior has changed. But if you use windowed mode it should be same.

JJunglbob 2025-01-20 github

I noticed 2.5.2 and 2.5.3 versions don't like fps limiters, with 2.5.1 ver. I can set 60 fps limit in nvidia control panel on my 75hz monitor and no problems, but last two versions give me micro-stuttering in all games, the only solution is to disable fps limiter.

Are you using windowed mode or fullscreen? From 2.5.2 fullscreen behavior has changed. But if you use windowed mode it should be same.

Fullscreen but not True Exclusive Fullscreen, Windows 11. You mean only windowed mode or should it work in borderless too?

Qqinlili23333 2025-01-20 github

Fullscreen but not True Exclusive Fullscreen, Windows 11. You mean only windowed mode or should it work in borderless too?

In 2.5.1, dxvk will use fse if the window size is same as screen, this is vulkan wsi on Windows default fse behavior. This means, borderless in game still may elevate to fse when dxvk is used. That's why borderless is suggested in game settings as dxvk can manage fse by its own.
In 2.5.2, fse is globally disabled in dxvk so no matter the game use which mode in settings it's windowed (may be borderless).
In 2.5.3, the default mode is same as 2.5.2, but you can use conf file to return to 2.5.1 behavior.

In windowed mode including borderless, all content is composed by dwm, which adds latency.
In fse, all content is directly sent to display without any compositor which minimize latency.
PS; Fullscreen optimization since Windows 10 is not applicable for vulkan wsi without dxgi swapchain.

JJunglbob 2025-01-20 github

Fullscreen but not True Exclusive Fullscreen, Windows 11. You mean only windowed mode or should it work in borderless too?

In 2.5.1, dxvk will use fse if the window size is same as screen, this is vulkan wsi on Windows default fse behavior. This means, borderless in game still may elevate to fse when dxvk is used. That's why borderless is suggested in game settings as dxvk can manage fse by its own. In 2.5.2, fse is globally disabled in dxvk so no matter the game use which mode in settings it's windowed (may be borderless). In 2.5.3, the default mode is same as 2.5.2, but you can use conf file to return to 2.5.1 behavior.

In windowed mode including borderless, all content is composed by dwm, which adds latency. In fse, all content is directly sent to display without any compositor which minimize latency. PS; Fullscreen optimization since Windows 10 is not applicable for vulkan wsi without dxgi swapchain.

Many thanks for information, could you please tell me what I need to write in dxvk.conf to make it work like before?

Qqinlili23333 2025-01-20 github

could you please tell me what I need to write in dxvk.conf to make it work like before?

dxvk.allowFse = True

Read more in default conf file:
https://github.com/doitsujin/dxvk/blob/c52a68a5be852481a69809f3668a6964b37e4e14/dxvk.conf#L30

BBlisto91 2025-02-11 github

@DatArtichokeDoe Friendly ping. Any update on this? Have you been able to verify that the config is applied correctly?

RRGB00255 2025-06-05 github

Hello, having the same issue even with dxvk.allowFse = True. My monitor reports 60hz while the game will run at 180fps. This issue does not occur if I disable G-Sync, and this issue will happen in other games I use DXVK with like Black Mesa and Resident Evil 6.

KK0bin maintainer 2025-06-05 github

@RGB00255

My monitor reports 60hz while the game will run at 180fps

Enable VSync.

RRGB00255 2025-06-05 github

@RGB00255

My monitor reports 60hz while the game will run at 180fps

Enable VSync.

Enabling vsync through the NVIDIA control panel and directly in GTAIV doesn't help.

KK0bin maintainer 2025-06-05 github

That's almost certainly not a DXVK issue then.

RRGB00255 2025-06-05 github

That's almost certainly not a DXVK issue then.

Yeah my guess now is that it is a driver issue because, upon further testing, this issue still occurs in Black Mesa's D3D9 mode in borderless fullscreen. Thank you for the response.

Nothing extracted yet.