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.



3890 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
user2422
Member
user2422

In an earlier comment you mentioned that ULLM is somewhat inefficient compared to Reflex or a manual limit, if i were to use Gsync + Vsync + ULLM, would that starving of the max queued frames and the potential stutters that come with it even apply considering that ULLM is auto limiting the fps in this configuration? Like does it limit low enough to prevent this from even happening?

Also when using Gsync + Vsync and then only enabling ULLM via Inspector without setting max pre-rendered frames to 1 (which ULLM would’ve otherwise done if it was applied via NVCP or NVApp), would this then be just an auto limiter without the other effects of ULLM? I’ve tried this configuration in-game and the auto limit still applies but I’m unsure whether or not ULLM will have any other impact in this configuration.

eonjr
Member
eonjr

Hi, thank you for the guides! But I have something to ask. My laptop has a 300hz refresh rate that is also GSync compatible. I have it capped at 285 using a formula that I saw on a Reddit post a while ago (via NVIDIA APP > Max Frame Rate).

I unfortunately get this gray flickering during gaming but I can get used to it. However, what I cannot stand is, when I tried using editing software (like Adobe Premiere Pro), the flickering was also present despite me having turned off GSync specifically for that app (via NVIDIA App). Is there something I am doing wrong? What can be done to completely eliminate flickering for non-game apps?

HagenKL
Member
HagenKL

Hey, the article talks about GSync with the Module. Is the Behaviour the same for GSync Compatible (aka Freesync monitors?)

Apache3m
Member
Apache3m

Naturally, with MFG enabled, Reflex limits my FPS from 240 to 224; however, if I disable V-Sync in the Nvidia Control Panel, I hit 240 FPS with MFG on.

Mark Rejhon
Admin

It bears worth noting that 224 vs 240 is extremely small (1/224)-(1/240) = 0.3ms frametime difference. It’s more about geometrics (e.g. 200fps vs 400fps vs 1000fps) that is much more noticeable. It’s possible to have a much smoother 224fps and a much worse 240fps that looks rougher-motion than 224fps. It’s all in the microstutter/tearing mechanics, and how you prioritize visual fidelity. A great test is to strafe in CP2077 and watch for microstuttering/tearing. This is one of the ways to compare framepacing quality of VRR and capping mechanisms.

Those using VRR and framegen are often looking to improve smoothness without prioritizing on esports latency, so this is often prioritized for solo games like Witcher and CP2077. Turning off Reflex and still using VSYNC ON is another way to get 240fps with smoothness, but that increases latency dramatically on top of the latency that framegen gives, so it can veer into distraction territory.

Reflex + framegen + VRR is a good “acceptable-for-solo latency” compromise, and lagfeel can actually still feel similar to the original pre-framegen framerate (with latency countermeasured turned off).

Apache3m
Member
Apache3m

Hi – I have a setup with a 9800X3D and an RTX 5080, along with an MSI 321URX QD-OLED monitor.
Could you tell me what I should do when gaming with NVIDIA’s Frame Gen (MFG) enabled? Should I stick with the G-Sync + V-Sync + Reflex settings, or do you recommend something else?

wpDiscuz