Hello @doitsujin.
I have a Vsync related question.
When Vsyng is turned on in games, I always get stuttering every second or so. Turning off Vsync from the game options solves completely the problem. However, if a game have FPS limit to 60, turning off Vsync form the game options doesn't help - the stutterning is always there no matter what. I tried turning off Vsync from the Nvidia driver, turning off flipping, tried with compositor disabled, tried on KDE, on Cinnamon, tried to turn off Force Full Composition Pipeline to no avail. Is there any way to fix this?
I'm with NVIDIA and I don't know if the problem exits on AMD/Intel. It's driver/DXVK version independent.
Is there any way to fix this?
Don't know, never had that problem on AMD nor Nvidia.
There are many titles with this problem but I can give an example with Gris. With WineD3D there isn't stuttering but if you play it with DXVK there is stutter every second when moving the screen. I forgot to mension that if there isn't any motion, there isn't stuttering too. If you move the screen, however, the stuttering occurs. I tried on Arch, on Linux Mint, different DE's and compositors - all the same.
Your problem is very real and it happens on DXVK 10 times more than any other game. The solution is to enable Vsync from the game - disable any Tear_Free from the driver - and bypass compositor for full screen windows or disable compositor. If you have a 144hz monitor and low fps then you should also make DXVK to emit 2 identical pictures per frame (it's horrible that this doesn't happen automatically).
The thing is that compositor's vsync breaks DXVK's vsync and the screen trembles. Turn off games vsync stutters once per second because something was always was wrong with DXVK's frame timing. So keep games vsync and bypass compositor. Compton example: write to compton.conf - unredir-if-possible = true;
Can I try it on Xfce for there's no compositor?
My monitor is 60 Hz.
Your problem is very real and it happens on DXVK 10 times more than any other game.
Whot do you mean here? DXVK isn't a game?
Nope, this doesn't help. I tried with Vsync turned off from NVIDIA driver, Vsync turned on from the game options, and compositor disabled. The every second stutterning is there.
I also can't duplicate this. Using Nvidia 418.52.17 with Gnome/Mutter, without the composition pipeline enabled. Vsync works fine for me and there is no added stutter.
Someone mentioned it may be related to a custom fan curve.
Are you sure that game's vsync is enabled during without compositor? Maybe nvidia driver disables it with that option. Turn camera fast to see.
As Josh mentioned, using a script to set a custom fan curve was causing really bad stuttering on vulkan applications with vsync on for me. Every time the script would query temps or set the fan speed my frame times would shoot through the roof.
https://github.com/doitsujin/dxvk/issues/267#issuecomment-511167305
Yeah, I also noted this ~two years ago in The Talos principle: Its fps counter shows also frametime deviations, and each time the curve got adjusted by the script, there was stutter and the counter turned red accordingly.
This is why I wonder why there are so many tools offering fan curve adjustments for Nvidia, seems like this feature is entirely useless with that big caveat.
Nope, if your problem is exactly as i describe: Around every second you stutter for around 0.1s where your image freezes wile you turning your camera fast. Then the problem comes from DXVK bad frame time when the game lacks vsync. How should i say this, the way DXVK timing things without vsync is simply wrong. Also make sure that you get more fps than half you hz, or else use the _dxgi.syncInterval = 2_ option.
How should i say this, the way DXVK timing things without vsync is simply wrong.
Then I'm sure you can file a pull request to fix the timing problem.
(Spoiler alert: there is no such problem and Vsync is working fine on most setups).
Thank you very much! It was the fan curve!
Most helpful comment
Then I'm sure you can file a pull request to fix the timing problem.
(Spoiler alert: there is no such problem and Vsync is working fine on most setups).