G-SYNC 101: G-SYNC Fullscreen vs. Borderless/Windowed


DWM Woes?

Requested by swarna in the Blur Busters Forums, is a scenario that investigates the effects of the DWM (Desktop Windows Manager, “Aero” in Windows 7) on G-SYNC in borderless and windowed mode.

Unlike exclusive fullscreen, which bypasses the DWM composition entirely, borderless and windowed mode rely on the DWM, which, due to its framebuffer, adds 1 frame of delay. The DWM can’t be disabled in Windows 10, and uses it’s own form of triple buffer V-SYNC (very similar to Fast Sync) that overrides all standard syncing solutions when borderless or windowed mode are in use.

To make sure this was the case, all combinations of NVCP and in-game V-SYNC, as well as the Windows 10 “Game Mode” and “fullscreen optimization” settings were tested to see if DWM could be disabled, and tearing could be introduced; it could not be, so Game Mode and fullscreen optimizations were disabled once again, and NVCP V-SYNC was re-enabled across scenarios for consistency’s sake.

The question is, does DWM add 1 frame of delay with G-SYNC using borderless and windowed mode?

Blur Buster's G-SYNC 101: Input Latency & Optimal Settings
Blur Buster's G-SYNC 101: Input Latency & Optimal Settings

Overwatch, shows that, no, with G-SYNC enabled, both borderless and windowed mode do not add 1 frame of delay over exclusive fullscreen. Standalone “V-SYNC,” however, does show the expected 1 frame of delay.

CS:GO was also tested for corroboration, and ought to have the same results, as DWM behavior is at the OS-level and should remain unchanged, regardless of the game…

Blur Buster's G-SYNC 101: Input Latency & Optimal Settings
Blur Buster's G-SYNC 101: Input Latency & Optimal Settings

Sure enough, again, G-SYNC sees no added delay, and V-SYNC sees the expected 1 frame of delay.

Further testing may be required, but it appears on the latest public build of Windows 10 with out-of-the-box settings (with or without “Game Mode”), G-SYNC somehow bypasses the 1 frame of delay added by the DWM. That said, I still don’t suggest borderless or windowed mode over exclusive fullscreen due to the 3-5% decrease in performance, but if these findings are true across configurations, it great news for games that only offer a borderless windowed option, or for multitaskers with secondary monitors.



3525 Comments For “G-SYNC 101”

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Sort by:   newest | oldest | most liked
BloodyNZ
Member
BloodyNZ

Hey jorimt, thanks for this amazing article and all the research put into it.
My question is if everything present here still applies nowadays with all the new technology and it’s evolution, or anything changed.
I’m rocking a 5060ti but still on a 1080p 144hz display, so I’m trying to optimize it. I play a different range of games, from competitive to single-player. I just want a stable and consistent experience everywhere.

Treeplex
Member
Treeplex

Hello Dear jorimt! I am interested in one question, I will be grateful for the answer. In the game Fall Guys without vertical synchronization limit FPS 300, but with synchronization enabled FPS is equal to 360, what to do in this case?

KasaiRyujin
Member
KasaiRyujin

Hello jorimt, thanks for all the info.

I read almost all the pages of this post, but I’m still not sure what to set in my case.

I have a RTX 4090 + R7 7800X3D. I play on 1440p ~180Hz, so most games run at refresh rate. But I see that the frametime is unstable in some games.

I enabled G-SYNC and set V-Sync to “On”. Also set max framerate to 175 on NVIDIA App.

What should I do with Reflex and Low Latency Mode when I’m hitting refresh rate constantly?
I realized V-Sync has an option called “Fast”, should I use it?

Thanks in advance.

mike-lesnik
Member

Hello jorimt!
For what purpose did Nvidia choose such a significant frame limit for Reflex and LLM Ultra (for example 224 for 240Hz), if you prove that 2-3 frames are enough?

rundown
Member
rundown

Great series, thank you!

Sorry for yet another question about v-sync! 🙂 I do believe that screen tearing occurs with VRR on and v-sync off, but I’m trying to understand on a technical level how it happens with an FPS cap under the max refresh rate? Suppose a 144hz refresh and 140 fps cap.

My understanding is, the display waits in vertical blank until the new frame arrives and immediately scans it out in 1/144 seconds. If the frame limiter is doing its job, a new one shouldn’t arrive until 1/140 seconds after the first one, so the display should be in vblank again.

What am I missing — imperfections in the frame limiter?

wpDiscuz