Throttling FPS in windowed mode since 1.0.58982 released

I can only comment for full screen mode, because as per the replies here, windowed mode is having its own issues.

But the key one used to be to enable triple buffering. That allowed the frame rate to drop a little without dropping all the way to 50% refresh rate (so 30fps on most TVs), and without tearing since vsync was always used within Zwift as standard.

The difference now is that the standard vsync behaviour within Zwift seems to have changed and whilst triple buffering is still useful for some scenarios, it’s no longer imperative. However to prevent screen tearing you now need to actively enable vsync, and leaving it on ‘Use the 3D application setting’ is no longer good enough.

So for a TV or fixed refresh rate monitor in full screen mode, the two key things to change from default in the Nvidia control panel are vsync on, triple buffering on. It’s also worth disabling threaded optimization; although it’s auto by default and in theory shouldn’t kick in, when it’s specifically turned on the performance in Zwift is massively worse. So I like to ensure it’s turned off.

1 Like

I’ve been testing a fair bit watching coco cadence and changing settings

So far the best performance without the apparent capping in windows mode appears to be gsync off and vsync set to adaptive.

still cannot embed pics!!

My testing so far!

ultra 2160 GeForce RTX 2060 Ryzen3 3100 @ 4.1ghz
FPS
mode gsync vsync triple buffering min avg max
window on use app settings off 21 48 94
window on fast off 21 36 94
window on on off 21 45 94
window on off off 21 48 94
window on adaptive off 21 40 95
window off use app settings off 31 48 94
window off off off 32 43 63
window off fast off 8 51 71
window off adaptive off 45 62 95
window off adaptive (half) off 31 41 48
window off adaptive on 41 62 95
full on use app settings 40 57 93
1 Like

That seems to back up my initial thoughts that they’ve changed the default behaviour from standard vsync to adaptive vsync (different to true adaptive/Gsync/Freesync).

Be nice if they told us any of this…

2 Likes

Communication with paying customers?! :exploding_head:

2 Likes

Thank goodness the release notes for each patch/update are so detailed…

1 Like

Adaptive vsync in windowed mode is no different for me. I believe DWM is still taking over and enforcing vsync. Basically windowed mode is wrecked right now, whether you’re on a TV/fixed refresh rate monitor (stuck at half refresh rate) or using Gsync (even lower frame rates).

At least there’s no tearing. :rofl:

And windowed mode performance generally is noticeably worse compared to full screen, which doesn’t help. Not sure if that’s a new update thing.

Updated summary:

  • Full screen mode with a TV or fixed refresh rate monitor works as before, but now requires vsync to be forced on (ideally with triple buffering enabled) to avoid newly observed tearing.
  • Full screen mode with Gsync/Freesync works as before with no changes necessary, woo!
  • Windowed mode with a TV or fixed refresh rate monitor is now subject to traditional vsync no matter what the Nvidia settings are. So any time your system can’t maintain 60fps you’ll be pegged at 30fps or 20fps - a divisible number of your display’s native refresh rate. In group events or around a busy Pace Partner this is going to be a constant thing for virtually all PC users.
  • Windowed mode with Gsync/Freesync is even worse, meaning you’ll be pegged at some random low number that I can’t figure out the relevance of.

Basically, windowed mode is wrecked on this release.

6 Likes

+1 to this summary. This is consistent with my testing using a 1660 Ti and FreeSync monitor. I’ve given up on windowed mode. And as Greg mentioned, dropping into Pace Partner rides is a good way to test.

Since upgrading to a 240hz monitor I now have enough fps divisors to remove visible choppiness and maintain a decent frame rate most of the time.
The 60fps to 30fps drops on a 60hz display were making Zwift unenjoyable.

Here are the vsync ranges for each refresh rate:

60hz
20, 30, 60
120hz
20, 24, 30, 40, 60, 120
240hz
20, 24, 30, 40, 48, 60, 80, 120, 240

1 Like

Thanks! :slight_smile:

It only get 30 fps on my TV for a while now. In full screen mode
I used to get around 60 on my GTX 1660 Ti
changed the setting now. will be interesting! :slight_smile:

i enable vsync i hade tripple buffering still only 30 fps, used to hav 57-80 in the spring time
GTX 1660 Ti I59300, I always use full screen mode.

Yes, me to… No G-sync in my Nvidia settings, triple buffering on, vsync on, full screen - FPS drops.
Win 10, GTX 1650, HDMI cable to TV, never had issues with Zwift and/or trainer, pairing, etc.

In that case all I can suggest is they’ve changed it again, within the minor patch that went out.

Since Zwift won’t say what’s going on, I’m literally just guessing based on messing about with spare PCs. On my last test build with a completely clean install of Windows 10, Nvidia driver (GTX 1650) and Zwift, the usual settings I’ve been using for ages (triple buffering enabled) were suddenly producing tearing in full screen mode. Forcing vsync on got rid of the tearing. But frame rates weren’t fixed to 30fps, that only happened in windowed mode.

Worth noting that being pegged/capped at 30fps isn’t the same thing as just being at 30fps due to being in a group event, busy area or following a Pace Partner. In those circumstances you’ll never get the same frame rate as you will if you’re in the middle of nowhere with few others around. So it’s important to differentiate the two.

1 Like

Installed Nvidia driver today, rebooted the PC, the same config (checked in Nvidia settings).
Zwiftalizer - 60 FPS (with one very short drop to 30) for 50 minutes. Seems to be OK now, no idea where the problem was (Windows, Nvidia, Zwift?).

1 Like

Can you post the Zwiftalizer analysis? You still shouldn’t have that drop right down to 30fps if triple buffering is enabled. It should only drop to where the circumstances dictate (say 48fps). That’s why it was always a useful setting. Unless you passed a Pace Partner and were just down at 30fps anyway.

Are you using the Nvidia studio driver or the Game ready driver ?

Game ready

I should mention - have no gaming monitor, so set max 60 FPS in Nvidia settings - and today I also changed Energy mode to Max instead of Optimum (translated from German - I hope you know which setting it is - see picture).
The drop is at the start of the event (race; starting at 12:32) - that is what I always had and that’s why I do not take part in really big events - mostly lost connection to my devices for some seconds - 1 min; always reconnected automatically, but the groups were… you know what happens when you stay at the start.

Edit - no idea if this is important - did not monitor the GPU this time, but it is mostly working hard when zwifting - temperatures 72-77 °C.

With vsync on you don’t need to set a maximum frame rate, vsync caps to your display’s refresh rate anyway (in your case 60fps). Maximum performance mode makes no difference in Zwift, nor does changing the OpenGL rendering GPU to your GTX 1650 unless you have two graphics cards installed. You should enable triple buffering to help prevent your frame rate being pegged at 30fps should you ever go below it. That still happens sometimes with vsync on.

Literally the only things to change from default (when using full screen mode) are Threaded Optimization OFF, Vertical sync ON, Triple Buffering ON. Otherwise, those results are exactly what I’d expect to see at the start of an event. :+1: