Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
DatArtichokeDoe opened this issue Jan 16, 2025 · 16 comments
Open

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

DatArtichokeDoe opened this issue Jan 16, 2025 · 16 comments

Comments

@DatArtichokeDoe
Copy link

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
@qinlili23333
Copy link
Contributor

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?

@Blisto91
Copy link
Contributor

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

@Mals1n
Copy link

Mals1n commented Jan 16, 2025

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 !

@DatArtichokeDoe
Copy link
Author

DatArtichokeDoe commented Jan 17, 2025

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.

@DatArtichokeDoe
Copy link
Author

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.

@qinlili23333
Copy link
Contributor

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.

@DatArtichokeDoe
Copy link
Author

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.

@qinlili23333
Copy link
Contributor

qinlili23333 commented Jan 17, 2025

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

@Blisto91
Copy link
Contributor

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

@lextra2
Copy link

lextra2 commented Jan 17, 2025

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.

@Junglbob
Copy link

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.

@qinlili23333
Copy link
Contributor

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.

@Junglbob
Copy link

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?

@qinlili23333
Copy link
Contributor

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.

@Junglbob
Copy link

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?

@qinlili23333
Copy link
Contributor

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:

dxvk/dxvk.conf

Line 30 in c52a68a

# dxvk.allowFse = False

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants