"Max FPS" does not work in Raze when VSync is enabled

Moderator: Raze Developers

User avatar
Blackgrowl
Posts: 91
Joined: Sun Oct 06, 2019 8:47 am
Graphics Processor: nVidia with Vulkan support

"Max FPS" does not work in Raze when VSync is enabled

Post by Blackgrowl »

So, for whatever reason, the "Max FPS" does not work when VSync is enabled.
This makes no sense when it works just fine in GZDoom (At least in version 4.11.3, not sure about latter versions)

I can set "vid_maxfps" to 72 and it's still running at 75, which is my refresh rate.
Using the in-game option itself, I set it to 60 and it still runs at 75 anyway. It's not until I disable VSync does it work, making it run at 60 FPS.

If screenshots are needed, I could try to provide some.
dpJudas
 
 
Posts: 3069
Joined: Sat May 28, 2016 1:01 pm

Re: "Max FPS" does not work in Raze when VSync is enabled

Post by dpJudas »

This is a change by design. Using vsync with maxfps does not make sense. It can't run at 72 fps vsync enabled when the refresh rate is 75. At that point it can only run at 75 fps, 37 fps, 25 fps, etc. We had a lot of users complaining about stuttering when they mixed the two settings. That's because it would try to get closer to 72 fps by rendering two frames in a row and then skip a frame. See issue 2066 for more information about why we did this.
User avatar
Blackgrowl
Posts: 91
Joined: Sun Oct 06, 2019 8:47 am
Graphics Processor: nVidia with Vulkan support

Re: "Max FPS" does not work in Raze when VSync is enabled

Post by Blackgrowl »

Strange...In all my games, which are mostly DX11 and some DX12, some still DX9, I always set my frame limit to 72 while enabling VSync, either in the game or outside it depending on how well it was implemented.

Never had stuttering issues or screen tearing issues, it was a smooth visual screen with smooth mouse movement.

Is it really that different in GZDoom and RAZE? I also use "FreeSync", through an Nvidia videocard though, it allows me to use it and enable it in Fullscreen or Fullscreen and Windowed both.
I know RAZE uses OpenGL and Vulkan, I use Vulkan for it.

Is there any tool or app that would allow me to have a clear view of how VSync (including FreeSync) and Frame Limit works in RAZE? I admit I'm not a settings genius and the frame limit + VSync could be a placebo, but I really want to know on my end.

EDIT: Forgot to mention something else just as important, Nvidia allows you to change this setting called "Vulkan/OpenGL present method" I use "Prefer Layered on DXGI swapchain" for RAZE and many other games.
dpJudas
 
 
Posts: 3069
Joined: Sat May 28, 2016 1:01 pm

Re: "Max FPS" does not work in Raze when VSync is enabled

Post by dpJudas »

Even though the old rules worked perfectly fine for your setup we had to pick the lesser evil here. Too many people did not have the correct hardware combination to make such a vsync setup work. Basically, you need a working adaptive sync setup with a monitor and driver that doesn't fuck it up. We can't ask all our users to use the "Prefer Layered on DXGI swapchain" solution as we'd have to educate users about this again and again. We don't have the resources to code our own vulkan->d3d12/dxgi interop, so that's why we ended up doing what we did. Why NVIDIA doesn't always use the DXGI swapchain I don't know, although I'd love to know the technical answer from NVIDIA on that one.
User avatar
Ihavequestions
Posts: 167
Joined: Mon Jul 12, 2021 1:45 pm
Graphics Processor: nVidia with Vulkan support

Re: "Max FPS" does not work in Raze when VSync is enabled

Post by Ihavequestions »

It works if you turn on Vsync for the game in your driver config while leaving it off in-game. That way, the driver will enforce Vsync while the game can be set to any fps you want.

I use 60 fps in-game at 120 Hz set in NVidia Control Panel on maps that cannot be played at 120 fps at all times.
User avatar
Blackgrowl
Posts: 91
Joined: Sun Oct 06, 2019 8:47 am
Graphics Processor: nVidia with Vulkan support

Re: "Max FPS" does not work in Raze when VSync is enabled

Post by Blackgrowl »

dpJudas wrote: Sun Jun 23, 2024 8:32 am Even though the old rules worked perfectly fine for your setup we had to pick the lesser evil here. Too many people did not have the correct hardware combination to make such a vsync setup work. Basically, you need a working adaptive sync setup with a monitor and driver that doesn't fuck it up. We can't ask all our users to use the "Prefer Layered on DXGI swapchain" solution as we'd have to educate users about this again and again. We don't have the resources to code our own vulkan->d3d12/dxgi interop, so that's why we ended up doing what we did. Why NVIDIA doesn't always use the DXGI swapchain I don't know, although I'd love to know the technical answer from NVIDIA on that one.
Interesting, I was actually going to suggest an "advanced" option to allow the old function with FPS Limit to work, but the way you say it, I guess it's a no go...Oh well.
Ihavequestions wrote: Thu Jun 27, 2024 10:17 am It works if you turn on Vsync for the game in your driver config while leaving it off in-game. That way, the driver will enforce Vsync while the game can be set to any fps you want.

I use 60 fps in-game at 120 Hz set in NVidia Control Panel on maps that cannot be played at 120 fps at all times.
So you enable VSync through Nvidia Control Panel and set the limit in RAZE?
Any reason you don't do it in reverse? Enable VSync in Raze and use the framelimit in Nvidia.

Anyway, I use the same method as you and it's going fine as is. I guess that's how I'll do with GZDoom and RAZE from now on.
User avatar
Ihavequestions
Posts: 167
Joined: Mon Jul 12, 2021 1:45 pm
Graphics Processor: nVidia with Vulkan support

Re: "Max FPS" does not work in Raze when VSync is enabled

Post by Ihavequestions »

Blackgrowl wrote: Mon Jul 01, 2024 6:26 amAny reason you don't do it in reverse? Enable VSync in Raze and use the framelimit in Nvidia.
Because I want to have Vsync on all the time (at 120 Hz) but also be able to change the fps limit on the fly, which isn't possible if I set it in the driver software.

Return to “Bugs [Raze]”