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.



3006 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
dandyjr
Member
dandyjr

Hey Jorimt, I have a question regarding the issue of avoiding the G-Sync ceiling.

I recently purchased a 280Hz Freesync monitor (it’s not official G-Sync Compatible but after testing in multiple games, it seems to mirror my 144Hz officially G-Sync Compatible monitor in accuracy) and I’ve noticed an issue that has happened on previous monitors I’ve owned as well.

This monitor doesn’t have an OSD that I can have toggled on at all times so I had to manually open the menu to check each time but I’ve noticed that there are multiple moments where the refresh rate will read as 280Hz instead of whatever framerate the game is reading as at the time.

For example, I tried with in-game and external limiters, I can cap the frames at 240fps and the game will read as 240fps but when I open the menu of the monitor, it reads as 280Hz for that moment (causing me to believe that G-Sync has disabled in that moment and Vsync has toggled on). Then I’ll close the menu and reopen it and then the refresh rate will read as some variation under the 280Hz ceiling. That lets me know that G-Sync does engage, but there are moments where it’s not engaging even when it should.

I tested this in multiple games with multiple forms of framerate caps and noticed the same trend. The closer I capped to 280Hz, the more times I would see 280Hz in the monitor. The only way to stop it from happening was to cap the framerate far below the ceiling. Capping at 277fps, for example, in RTSS caused the 280Hz readout to never change at all (which would indicate that G-Sync was not engaging) which caused me a lot of frustration.

I would think that it’s possibly due to the monitor not being offically G-Sync Compatible but the same issue would happen with my 144Hz monitor as well (with lower framerates of course because the ceiling is lower) and that monitor had an OSD that I could leave toggled on. I would see the numbers rapidly change and by watching very closely, you could see the 144Hz flash multiple times within the mixture.

Am I overthinking this or are the monitors actually reading correctly and G-Sync is disengaging and re-engaging constantly even with framerate caps below the ceiling?

It’s sad to think that the 280Hz ceiling is useless because framerates need to be capped far below the ceiling even with external limiters that appear to be perfect in execution.

TkoSeven
Member
TkoSeven

Thanks for the wonderful article.

2 questions!

Adjust desktop size and position section,
“Perform scaling on: Display or GPU” (also override the scaling mode set by games and programs)
does it matter in terms of how g-sync monitor
interacts with GPU?

2nd question on “Max frame rate” on Nvidia settings,
if a game was designed to be locked at 60fps, like Tekken 8,
Nvidia panel set to 58 fps, does it work by limiting frame data transferred to display even though
the logic of the game (application) actually went through generating data for 60 frames?
or
does it actually limit the game to only generate 58 frames?

thank you in advance.

eeayree
Member
eeayree

Hi jorimt. I myself am from another country and therefore I hope that the translator will do his job correctly. Now I’m playing Metro 2033 and this game can produce from 80 to 120 fps on my system and at the same time the GPU is not working at full capacity. It works within 85 percent. Your tuning guide states that it is best to enable low latency mode in cases where the frame rate does not always reach or exceed the refresh rate. Am I doing the right thing if I leave low latency mode on if the video card is not loading at 99%? And at what percentage values ​​does the delay appear exclusively at 99%? On 95, 96, 97 will everything work with minimal delays?

SovonHalder
Member
SovonHalder

HI jorimt, I can’t thank you enough for writing this article. I read pages 1 through 15 multiple times to understand as much as I cound and i’t’s incredibly useful for folks like me who are new to PC gaming. Just wanted to acknowledge that adn say many thanks brother.

So I set up things for my 144hz 32GR93U exactly as you described: In nvcp Gsync+Vsync+Low latency ultra and the in game Vsync, double or triple buffering off and fullscreen on. I have 2 questions basically.

1. In most games I’ve tried so far like alan wake 2, god of war, stray the fps is capped automatically to 138 as it should but in red dead online (vulkan) it maxes out at 144. I use rtss to set it custom 138 but the question remains. Why doesn’t it happen automatically?

2. The new nvidia app reports an Average PC Latency in their overlay. For me above 60ms with mouse and controller feels sluggish whereas when it’s below 30ms the game feels much more responsive. I want to implement that on my RTSS stat overlay. (I find rtss overlay more robust and feature rich and I can see frametime grap and nvidia overlay is finicky and slow.) Could you share some insight as to how they are calculating that number?

Ezi
Member
Ezi

I have a question, so i did the settings you suggested and my gpu usage went from 99% usage to hovering around 70-88ish. Is this normal? Cause if i were to default everything back, the usage would go back to 99%

these are the settings i have in NCP:
– vsync on in NCP, off ingame
– set fps limiter -3
– gsync enabled – full screen
– LLM set to ultra since ingame doesnt have a limiter

my pc spec is:
– 4080 super FE
– 7800x3D
– M32U 4k 144hz monitor

wpDiscuz