G-Sync and Cloned Displays

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.
User avatar
sharknice
Posts: 295
Joined: 23 Dec 2013, 17:16
Location: Minnesota
Contact:

Re: G-Sync and Cloned Displays

Post by sharknice » 10 Feb 2014, 15:46

Chief Blur Buster wrote:As far as I knew, ShadowPlay works with G-SYNC.

What we need is a method of transmitting the high quality 50Mbps ShadowPlay stream to a separate computer, that can do a high-quality, proper transcode to a high-quality 3.5Mbps Twitch stream. Although that means compression passes (which, correctly, is normally a no-no), sometimes it is an exception because of a technological necessity -- this workaround can be much higher quality than a direct 3.5 Mbps low-quality "fast compress" stream.

Do this test: Record a maximum bitrate ShadowPlay stream (50Mbps), then run a utility to recompress the file using high-quality options to 3.5 Mbps, playback -- and playing the 3.5 Mbps file still looks broadcast quality, just like the commercial 3.5 Mbps treams. Which proves ShadowPlay is good enough to do this -- now NVIDIA has to program a way to let the 50 Mbps stream be transmitted to a separate computer in real time without much intrusiveness at a LAN party -- to let a separate computer do the more extensive processing necessary for a proper top-quality 3.5 Mbps stream.
Shadowplay works just as well with GSYNC as it does normally.
I use GSYNC without SLI when I play Chivalry: Medieval Warfare and StarCraft 2 because they are CPU bottlenecked against even just one 770. I usually record while I play these games.

You could potentially do some sort of hack to read the file Shadowplay is creating as it is being written to the hard drive.

I think the ultimate solution would be to be able to tie Shadowplay into OBS so it can use it as one of its sources but you still can record desktop with all your custom overlays, microphone adjustments, and other customizations.

User avatar
ManuelG_NVIDIA
Posts: 33
Joined: 27 Jan 2014, 14:46

Re: G-Sync and Cloned Displays

Post by ManuelG_NVIDIA » 10 Feb 2014, 17:30

I have checked with our product manager and unfortunately this feature (Clone mode with G-Sync display) is still too far off for us to comment on.
Please send me a PM if I fail to keep up on replying in any specific thread.

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

Re: G-Sync and Cloned Displays

Post by Chief Blur Buster » 12 Feb 2014, 18:03

ManuelG_NVIDIA wrote:I have checked with our product manager and unfortunately this feature (Clone mode with G-Sync display) is still too far off for us to comment on.
Another idea is to let ShadowPlay transmit a 50Mbps stream to a 2nd computer, where a third party program can do the higher quality transcoding work (intensive processing to do real-time conversion to a very high quality, broadcast-quality 3.5 Mbps Twitch stream). Direct output of a 3.5Mbps stream is too low quality, while a high end video capture compressing to 3.5 Mbps is currently higher quality, so technically this sounds like a job of letting a 2nd computer do a better job of recompressing the video to do a 3.5 Mbps twitch broadcast to more resemble the quality of a video capture recompress?

Would this be a workable solution for high quality GSYNC broadcasting? GSYNC computer sends 50Mbps stream to 2nd computer, third party utility reprocesses it and then does a high-quality recompress to a broadcast-quality 3.5 Mbps stream?

It might entail a 3rd party programming a solution, but this might be the most feasible and workable solution, with only minor work needed for NVIDIA?

(Just throwing an idea out there, since ShadowPlay can do 50Mbps already)
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!

Boildown
Posts: 14
Joined: 28 Jan 2014, 03:41

Re: G-Sync and Cloned Displays

Post by Boildown » 13 Feb 2014, 13:09

ManuelG_NVIDIA wrote:I have checked with our product manager and unfortunately this feature (Clone mode with G-Sync display) is still too far off for us to comment on.
Thanks for the follow-up. This is a feature I'd like, it may well be a pre-requisite to me buying in to using G-Sync (figuratively and literally).
Chief Blur Buster wrote:Another idea is to let ShadowPlay transmit a 50Mbps stream to a 2nd computer, where a third party program can do the higher quality transcoding work (intensive processing to do real-time conversion to a very high quality, broadcast-quality 3.5 Mbps Twitch stream). Direct output of a 3.5Mbps stream is too low quality, while a high end video capture compressing to 3.5 Mbps is currently higher quality, so technically this sounds like a job of letting a 2nd computer do a better job of recompressing the video to do a 3.5 Mbps twitch broadcast to more resemble the quality of a video capture recompress?

Would this be a workable solution for high quality GSYNC broadcasting? GSYNC computer sends 50Mbps stream to 2nd computer, third party utility reprocesses it and then does a high-quality recompress to a broadcast-quality 3.5 Mbps stream?

It might entail a 3rd party programming a solution, but this might be the most feasible and workable solution, with only minor work needed for NVIDIA?

(Just throwing an idea out there, since ShadowPlay can do 50Mbps already)
As I said before, this Shadowplay idea isn't a replacement for Cloning the screen, just a possible workaround for only one of the use cases that I brought up: streaming video. And there's reason to believe it isn't even a good alternative during those times when G-Sync is doing its thing: https://obsproject.com/forum/viewtopic.php?f=7&t=10451

The long and short of it is, we still need to be able to Clone the screen with a G-Synced output to maintain the current functionality.

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

Re: G-Sync and Cloned Displays

Post by Chief Blur Buster » 13 Feb 2014, 15:15

Boildown wrote:As I said before, this Shadowplay idea isn't a replacement for Cloning the screen, just a possible workaround for only one of the use cases that I brought up: streaming video. And there's reason to believe it isn't even a good alternative during those times when G-Sync is doing its thing: https://obsproject.com/forum/viewtopic.php?f=7&t=10451
I think Shadowplay would be much easier than when cloning the screen works, because:
- Once GSYNC cloning works, will it clone to two GSYNC streams (harder to solve your problem), or one fixed-refresh-rate stream and a variable-refresh-rate stream (easier to solve problem, but might cause side effects)
- If two GSYNC streams, then you have to get video capture that can handle variable framerate source
- And you'll need to convert the variable frame rate to a fixed frame rate for streaming.
question is really just simply becomes "Where in the chain do I convert the variable framerate to fixed frame rate?" At the video card level? At the ShadowPlay level (which it is already doing)? ShadowPlay streams are fixed frame rate, as I understand it. At the video capture level? At the end of the day, it really doesn't matter, since you're gonna have to do this conversion at some point in the chain to broadcast a GSYNC stream to watchers.

So, therefore:
- GSYNC mirroring (one GSYNC signal, one fixed-refresh signal) -- easiest workaround to work with existing equipment
- GSYNC mirroring (two GSYNC signals) -- needs new video capture equipment not yet invented (much, much, much harder than ShadowPlay solution)

(At least untile such time there's an industry standard for broadcasting variable-frame-rate video that works on both fixed-refresh and variable-refresh displays.)

Converting variable frame rate to fixed framerate, is simply done by "rounding-off" the frames to the nearest interval. That brings the microstutters back, but would just simply look like triple-buffered VSYNC ON version of the GSYNC motion (with triple-buffering-style microstutters). Even if you record a variable frame rate stream, mapping a variable frame rate stream into a fixed frame rate is a fairly simple buffering algorithm: Play the VFR into a buffer, and then read the buffer again at fixed intervals when re-rendering a fixed frame rate stream. This adds the stutters back, but makes the stream pretty standard.

_______

On another topic, but semi-related -- bleeding edge idea: True GSYNC recordings may be possible with current H.264 technlogy: I am extremely interested in what happens when we try to record GSYNC into a frame-granular VFR stream -- and play it back in a full screen video player that works with GSYNC. H.264 supports variable frame rate (I think by allowing arbitrary timestamps on frames), and there exists some video players that run in full screen, that apparently already works with GSYNC. So I wonder if this is something that can currently be done with existing video container formats on existing video players, if someone invented a way to record a GSYNC gameplay into a variable frame rate file. [Programmer project for one of our developer readers, maybe?].
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!

User avatar
ManuelG_NVIDIA
Posts: 33
Joined: 27 Jan 2014, 14:46

Re: G-Sync and Cloned Displays

Post by ManuelG_NVIDIA » 13 Feb 2014, 15:54

Thanks for the suggestions but it is still too far out to say what the best options are. But I'll pass along your G-Sync suggestions.
Please send me a PM if I fail to keep up on replying in any specific thread.

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: G-Sync and Cloned Displays

Post by Sparky » 16 Feb 2014, 10:56

Chief Blur Buster wrote: "Even if you record a variable frame rate stream, mapping a variable frame rate stream into a fixed frame rate is a fairly simple buffering algorithm: Play the VFR into a buffer, and then read the buffer again at fixed intervals when re-rendering a fixed frame rate stream. This adds the stutters back, but makes the stream pretty standard."
I think that would get better results if you cap in-game framerate to a multiple of your desired streaming framerate.

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

Re: G-Sync and Cloned Displays

Post by Chief Blur Buster » 16 Feb 2014, 21:02

Sparky wrote:
Chief Blur Buster wrote: "Even if you record a variable frame rate stream, mapping a variable frame rate stream into a fixed frame rate is a fairly simple buffering algorithm: Play the VFR into a buffer, and then read the buffer again at fixed intervals when re-rendering a fixed frame rate stream. This adds the stutters back, but makes the stream pretty standard."
I think that would get better results if you cap in-game framerate to a multiple of your desired streaming framerate.
Better results for streaming, but wouldn't provide the stutter-elimination benefits of GSYNC to the gameplayer. GSYNC makes floating frame rates (30-40-50-60-70fps) look stutterfree. The benefits are explained at www.blurbusters.com/gsync/preview ... What you suggest, is trying to use GSYNC for its intended benefits, but ending up handicapping it visually in order to enable better streaming. The challenge here is to have streaming without intefering with GSYNC benefits to the game player, which necessitiates the kind of ideas I've been posting in this thread...
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!

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: G-Sync and Cloned Displays

Post by Sparky » 17 Feb 2014, 18:44

Chief Blur Buster wrote:
Sparky wrote:
Chief Blur Buster wrote: "Even if you record a variable frame rate stream, mapping a variable frame rate stream into a fixed frame rate is a fairly simple buffering algorithm: Play the VFR into a buffer, and then read the buffer again at fixed intervals when re-rendering a fixed frame rate stream. This adds the stutters back, but makes the stream pretty standard."
I think that would get better results if you cap in-game framerate to a multiple of your desired streaming framerate.
Better results for streaming, but wouldn't provide the stutter-elimination benefits of GSYNC to the gameplayer. GSYNC makes floating frame rates (30-40-50-60-70fps) look stutterfree. The benefits are explained at http://www.blurbusters.com/gsync/preview ... What you suggest, is trying to use GSYNC for its intended benefits, but ending up handicapping it visually in order to enable better streaming. The challenge here is to have streaming without intefering with GSYNC benefits to the game player, which necessitiates the kind of ideas I've been posting in this thread...
Well, you'd still have g-sync on the 50-60fps range, with low latency because you're not limiting framerate with backpressure. Basically, send a 50-60fps g-sync stream to the monitor, buffer that and selectively drop frames to send the capture card 30hz v-sync. The capture card doesn't really care about latency aside from audio synchronization. As long as you can keep up with the framerate cap your stream will avoid the stutter associated with triple buffering, the tradeoff is that you could get a higher framerate if you can live with a stuttering stream. Alternatively you can cap framerate in game at 120fps, and reduce settings until you can maintain that.

I think that's the best option until we get capture hardware capable of variable refresh.

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

Re: G-Sync and Cloned Displays

Post by Chief Blur Buster » 17 Feb 2014, 19:24

Sparky wrote:Well, you'd still have g-sync on the 50-60fps range, with low latency because you're not limiting framerate with backpressure.
You definitely do lose visual benefits of GSYNC in the 60-70-80-90-100-110+ range, which I do clearly notice. Losing the 60-80fps range would be a huge loss of visual fidelity.
Sparky wrote:As long as you can keep up with the framerate cap your stream will avoid the stutter associated with triple buffering, the tradeoff is that you could get a higher framerate if you can live with a stuttering stream.
Only if you're perfectly maintaining frame rate cap, since 50fps is essentially guaranteed to stutter in a 30fps or 60fps stream. You lose access to the visual fluidity of continuously maintained "perfect X fps@X hz" look of GSYNC -- for example 90fps look like 90fps@90Hz, roughly in between perfect synced 60fps@60Hz and 120fps@120Hz.

Most twitch streams all have stutter built in because most competitive players are playing VSYNC OFF, so you're getting microstutters from the fluctuating frame rates (from the stream perspective, it essentially is triple buffer microstutters, as the tearing itself is typically not recorded, so streaming is almost never true WYSIWYG in terms of identical stutter-for-stutter, tearing-for-tearing reproduction. This will probably continue in the GSYNC era)
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