G-Sync non-native resolution upscaling

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
User avatar
RealNC
Site Admin
Posts: 3737
Joined: 24 Dec 2013, 18:32
Contact:

G-Sync non-native resolution upscaling

Post by RealNC » 13 Apr 2017, 11:28

Up until now, I went with the "G-Sync monitors can't upscale" wisdom, and that only GPU upscaling works.

Well, today I decided to experiment with ToastyX's CRU on a 1440p G-Sync monitor (an XG2703-GS) that has better-than-average upscaling when using HDMI. However, HDMI means no G-Sync.

So I added custom 1280x720 and 1920x1080 resolutions to see if I can get monitor upscaling to work over DisplayPort. And lo and behold, quality upscaling by the monitor itself is possible. It's much sharper than the default GPU upscaling (which blurs the image and also "muffles" the colors too much.) However, with 1920x1080 it only accepts 60Hz, and with 1280x720 only up to 75Hz. Anything higher will just result in a black picture with the OSD saying "0x0 0Hz". G-Sync can STILL be used even with monitor upscaling. Which is weird.

Any explanation as to what's happening here? The monitor's scaler seems to activate here. However, G-Sync still works. How's that possible?
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.

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: G-Sync non-native resolution upscaling

Post by Chief Blur Buster » 13 Apr 2017, 14:25

Very interesting finding!

I think GPU upscaling should be made higher quality -- there should be a way to tweak an upscaling shader so that it can mimic the scaling quality of some good monitor scalers.

Monitor scalers can still generically scale individual refresh cycles (whether delivered by a GSYNC circuit or a FreeSync signal) even if the pause between refresh cycles can vary.

A modern line-by-line scaler (lagless scaling -- via pixel row buffer rather than full frame buffer -- to permit realtime scaling during realtime scanout) -- generally does not care about the pauses between refreshes whether it's delivered by GSYNC or FreeSync since most of that VRR logic is handled further upstream than the displays' TCON level (where the scaler may reside).

For a long time, laptops could essentially 'pause' their refreshes by suddenly reducing from 60Hz down to 1Hz to save power (whenever idling) -- an early VRR for power saving -- and laptops could still keep scaling their resolutions too -- so there's been more than a decade of experience that has made display scalers forgiving of VRR.

There are different responsibilities needed in VRR, such as variable-overdrive (Which GSYNC does very well, usually far better than most FreeSync implementations), but that's done at a higher level than the TCON. But where the scaling needs to be done, is very flexible -- can be done in the GPU, can be done by an intermediary box (video processor, scalers, receivers, etc), or done as part of the VRR tech, or done beyond (e.g. TCON level). Scaling does not necessarily always need to be part of the VRR responsibilities itself, and can even be done beyond all the major VRR processing -- and handled closer to the TCON directly on the display panel which is already getting usually VRR-compatible.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Post Reply