UPDATE: Enabling triple buffering (leaving vsync enabled) in Nvidia control panel resolves the ‘sticky vsync’ behaviour described below. Thanks again to @Steve_Clogg_PACK_LEA for providing the solution!
Part bug report, part feature request. I’m 100% sure this won’t be acted upon in any way but there’s no point me complaining about it if I’m not going to at least log it, so here we go.
TL;DR: Please add the ability to completely turn off vsync inside Zwift, because it seems to be causing an issue with G-Sync.
As everyone who uses Zwift on a PC will know, the frame rate is extremely variable. Obviously specs matter, but even on high end components the frame rate can be very high or very low depending on something as fundamental as the camera angle being used, but mainly it appears to be down to the number of other riders on screen (seemingly to do with drafting/positional calculations rather than polygon count). To combat this and avoid both the tearing and/or stutter associated with vsync on/off, I use adaptive sync. Or more accurately Nvidia’s implementation of G-Sync on a Freesync monitor. On my particular monitor this does a fantastic job of smoothing out the frame rate fluctuations most of the time.
The optimal for G-Sync as investigated by Blur Busters involves turning vsync ON in the Nvidia settings but OFF in-game: https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/14/
I cannot turn vsync off in Zwift, which I believe is the reason I frequently get see an issue where the frame rate drops and gets stuck at 50% of my monitor’s refresh rate, which is traditional vsync behaviour. It does not ‘release’ back to a variable frame rate unless I cycle through the cameras in game (to helicam and back normally does the trick). I can often force this ‘sticky vsync’ behaviour by bringing up the menu or taking a screenshot, both of which cause a frame rate drop that is sometimes significant enough to go below 50% refresh rate.
I’ve tried every conceivable setting in the Nvidia Control Panel and aside from turning off both G-Sync and vsync - therefore totally disabling adaptive sync and defeating the point - this problem always occurs because Zwift seems to use vsync by default, and reacts to G-Sync as though vsync is still enabled. I’m on a Windows 10 PC with the latest Nvidia drivers on a GTX 1660 connected to a Pixio PX275h over DisplayPort. In Zwift I use the 2160p option. I know someone seeing the same behaviour on a genuine Gsync monitor, so I don’t believe this issue is limited to my setup.
For reference I’ve checked all this with the chaps at Blur Busters who have provided this link with some developer advice: https://forums.blurbusters.com/viewtopic.php?f=2&t=6273#p47076