so... how do we get gsync on the desktop

Talk about NVIDIA G-SYNC, a variable refresh rate (VRR) technology. G-SYNC eliminates stutters, tearing, and reduces input lag. List of G-SYNC Monitors.
Post Reply
flood
Posts: 929
Joined: 21 Dec 2013, 01:25

so... how do we get gsync on the desktop

Post by flood » 06 Oct 2014, 21:38

ever since vista, the windows desktop has used a compositing window manager called dwm, which allows for the fancy graphics that we know as aero. dwm also eliminates tearing on the desktop via double buffering/vsync. but as you probably know, vsync adds at least one frame of input lag, and for dwm, it's exactly 2 frames. to see this, just drag an icon around on the desktop and observe how the mouse cursor leads the icon.

idk about you but this is the thing i dislike most about the windows desktop... and whenever i'm on windows 7 i use the basic theme, which doesn't have vsync, to avoid the extra lag

since gsync eliminates tearing but does not add input lag (at the top of the screen) as long as the framerate is capped via software, it would be nice to have it on the desktop. so how the hell do we do this? is it possible to hack something together?

User avatar
RealNC
Site Admin
Posts: 3758
Joined: 24 Dec 2013, 18:32
Contact:

Re: so... how do we get gsync on the desktop

Post by RealNC » 07 Oct 2014, 00:25

In theory it should be possible, but due to the nature of how compositing works it looks like this would require direct support both in the compositor itself as well as the driver. Compositors use indirect rendering where everything is done in off-screen buffers, and each application that is being composited has its own Direct3D or OpenGL context (which is what gsync works with.) So for Windows, NVIDIA would need to provide a specific API to do this, and Microsoft would then need to modify DWM to use that API, so that all contexts could somehow be unified at the final output stage.

This is just conjecture on my part though. I have no evidence that this is indeed what would be required to get gsync to work with compositors.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

flood
Posts: 929
Joined: 21 Dec 2013, 01:25

Re: so... how do we get gsync on the desktop

Post by flood » 07 Oct 2014, 03:32

idk i feel like it wouldn't be too difficult as most games work with gsync directly...

User avatar
RealNC
Site Admin
Posts: 3758
Joined: 24 Dec 2013, 18:32
Contact:

Re: so... how do we get gsync on the desktop

Post by RealNC » 07 Oct 2014, 06:24

flood wrote:idk i feel like it wouldn't be too difficult as most games work with gsync directly...
The driver uses the game's context to synchronize its output with the monitor. On the desktop, you have more than one context. You can run two windowed applications/games in parallel, for example. Which one is gsync going to use to do the sync?

That's why I think that extra driver support for this is needed.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

flood
Posts: 929
Joined: 21 Dec 2013, 01:25

Re: so... how do we get gsync on the desktop

Post by flood » 07 Oct 2014, 18:22

my understanding is that for windowed applications/games, they'll just render as often as possible. when the compositor is ready to draw, it'll just draw the most recently rendered frame from each app

Post Reply