• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Nvidia FAST Sync, what pc gamers have needed for decades

Durante

Member
Like I said in another thread, it's "just" triple buffering.
Actual triple buffering as you can see described in textbooks from the 90s, not what has come to be called "triple buffering" recently but is really just a 3-buffer queue.

That said, it's a very good thing to get an option for it in the driver, since on a modern system it's basically impossible to enforce real triple buffering in fullscreen mode.
 

riflen

Member
It's just baffling to me why it has taken this long to get this basic feature back and why a GPU vendor had to implement it in their driver.
The reason we have this silly Fast Sync nomenclature is because the user base has long since lost visibilty of the concept. This is just triple buffering and you can read about it in this anandtech article from 7 years ago.

Either developers mostly didn't think it was important or DirectX makes it difficult to achieve, which I find hard to believe.
I suppose most developers used DirectX's buffer queue and didn't think anything more of it. Backpressure is what causes shitty latency on 60Hz displays with Vsync enabled.

So boo to Nvidia for not just calling this what it is, but yay for doing it and giving users more options. I've never owned a 60Hz LCD monitor and I don't need to play games at 300fps, so it doesn't affect me much. I suppose it might be good for latency improvement in the games where I use Vsync and monitor backlight strobing.
 

ACH1LL3US

Member
OP please don't post bad info while using the DF guy's avatar, you had me completely fooled for a while -.-


Huh?

Anyway, people keep saying this is triple buffering, Tom clearly states it is not because of how the pipeline is handle, triple buffering causes backpressure, FAST sync does not! There is a large difference in input lag between FAST sync and triple buffering.
 

Durante

Member
Huh?

Anyway, people keep saying this is triple buffering, Tom clearly states it is not because of how the pipeline is handle, triple buffering causes backpressure, FAST sync does not! There is a large difference in input lag between FAST sync and triple buffering.
That's because for some reason he calls 3 buffer queues "triple buffering". They are not. Actual triple buffering, as described in many textbooks going all the way back to the 90s, is exactly what he describes as "fastsync".
 

riflen

Member
Huh?

Anyway, people keep saying this is triple buffering, Tom clearly states it is not because of how the pipeline is handle, triple buffering causes backpressure, FAST sync does not! There is a large difference in input lag between FAST sync and triple buffering.

Yes, he says this, but Tom is being disingenuous. It's perfectly possible to implement triple buffering and include logic to drop frames from one of the back buffers when it's not useful.

He is either taking the view that "triple buffering", as people understand it today, refers to DirectX's three-buffer-queue method, that does do as he describes and causes back pressure, or he is comparing to a more basic implementation of true triple buffering that cannot drop frames. Either way, Fast Sync is triple buffering. Please read the article I linked and in particular the Update section at the end.
 

dr_rus

Member
That's because for some reason he calls 3 buffer queues "triple buffering". They are not. Actual triple buffering, as described in many textbooks going all the way back to the 90s, is exactly what he describes as "fastsync".

Probably because what he describes is what is actually implemented in all modern games as "triple buffering"?
 

Dahaka

Member
Let's take the following 60Hz Monitor scenario:

Adaptive Vsync vs. FastSync in games like GTA maxed which from time to time can go under 60 (grass).
Yes, you can go grass medium/high, change a few opther options and stay above 60fps all time but for comparison's sake. Which one would be better?

Why does adaptive vsync not work that often and you get tearing? Is it engine dependant (frametimes)?
 

shockdude

Member
That's pretty cool. Proper triple buffering at the driver level, about time.
Too bad there's no way this will get rolled out to laptop users with switchable graphics. Unless they somehow made it work of course.
 
Let's take the following 60Hz Monitor scenario:

Adaptive Vsync vs. FastSync in games like GTA maxed which from time to time can go under 60 (grass).
Yes, you can go grass medium/high, change a few opther options and stay above 60fps all time but for comparison's sake. Which one would be better?

Why does adaptive vsync not work that often and you get tearing? Is it engine dependant (frametimes)?

Adaptive vsync disables vsync when your framerate drops below your monitors refresh rate to prevent it from instantly dropping to 30 fps.
 

riflen

Member
Let's take the following 60Hz Monitor scenario:

Adaptive Vsync vs. FastSync in games like GTA maxed which from time to time can go under 60 (grass).
Yes, you can go grass medium/high, change a few opther options and stay above 60fps all time but for comparison's sake. Which one would be better?

Why does adaptive vsync not work that often and you get tearing? Is it engine dependant (frametimes)?

This is by design for adaptive. The point of it is to try to avoid controls latency. If using adaptive, vsync will disengage if your PC misses the display refresh interval, in your case, 16.7 ms and will re-engage when performance returns to that level or better.

Fast Sync (I'm going to hate writing that all the time), is not designed for the scenario you describe. It is to help controls latency when your frame rate is massively higher than your refresh rate. i.e. 60 Hz display and 300 fps.
 

Maxey

Member
So, it gives you one of the advantages of borderless fullscreen for games that don't support it?
 
No thanks, according to the explenation it makes the flow of time inconsistent ingame, which is incredibly distracting and offputting.
60 fps is not a reasonable treshold where that is no longer noticable, as nvidia themselves said it's for when you have 200+ fps

At which point tearing is no longer noticable anyhow


Niche halfbacked 'solution' for the tiny percentage of people who can still notice tearing at 200 fps (quite amazing as the offset from the tear will be very small) in the small percentage of games where you can get these kinds of framerates.
 

jediyoshi

Member
No thanks, according to the explenation it makes the flow of time inconsistent ingame, which is incredibly distracting and offputting.
60 fps is not a reasonable treshold where that is no longer noticable, as nvidia themselves said it's for when you have 200+ fps

At which point tearing is no longer noticable anyhow


Niche halfbacked 'solution' for the tiny percentage of people who can still notice tearing at 200 fps (quite amazing as the offset from the tear will be very small) in the small percentage of games where you can get these kinds of framerates.

So what's your takeaway of the distinction between it and triple buffering?

So, it gives you one of the advantages of borderless fullscreen for games that don't support it?

The screen tear elimination aspect, but not the quick task switching. For nvidia on the driver level, you can already force triple buffering.
 

Knurek

Member
That's because for some reason he calls 3 buffer queues "triple buffering". They are not. Actual triple buffering, as described in many textbooks going all the way back to the 90s, is exactly what he describes as "fastsync".

As I understand, the game will render as fast as possible, causing 100% GPU usage all time - 600 fps and up in some titles...
Wouldn't it be better to use this option in tandem with, say, RTSS capping at double the monitor refresh rate?
 

riflen

Member
So what's your takeaway of the distinction between it and triple buffering?



The screen tear elimination aspect, but not the quick task switching. For nvidia on the driver level, you can already force triple buffering.

The current feature in the Nvidia driver labelled Triple Buffering only applies to games that use an OpenGL renderer. Fast Sync is just triple buffering for DirectX games.
 

Zojirushi

Member
Please keep in mind that Gsync is for under 60fps gaming and fast sync is for over 60fps gaming and does not require a special tv, monitor or input!!

Why over 60fps though?

What do I do in the case in which I can't quite reach 60 fps or get frequent dips but still don't want tearing (the case for tripple buffering usually, or at least what people called tripple buffering in recent history)

Won't FastSynch help me with that as well?
 

CruelTott

Neo Member
So is this the behavior you would get from Vulkan in Mailbox-mode with 3 image buffers? (Example with image here).

In that case maybe they were able to reuse the code for "correct" triple-buffering in vulkan and enable it globally. In that case I hope AMD and Intel will do the same.
 

Arkanius

Member
So it's exactly what Borderless Windowed achieves with TripleBuffered Vsync?

Anyway, I'm good with Gsync, might be great for those edge cases where I can go above 144hz in older games I guess.
 
I'd like to see just-in-time v-sync, where the frame rendering is delayed to finish just before the next scanout. This should result in less input lag and lower power consumption compared to vsync, tripple buffered or not.

Valve experimented with it, but I never got it working smoothly. Maybe with the Vulkan update (hopefully) this week.
 

Durante

Member
No thanks, according to the explenation it makes the flow of time inconsistent ingame, which is incredibly distracting and offputting.
60 fps is not a reasonable treshold where that is no longer noticable, as nvidia themselves said it's for when you have 200+ fps

At which point tearing is no longer noticable anyhow


Niche halfbacked 'solution' for the tiny percentage of people who can still notice tearing at 200 fps (quite amazing as the offset from the tear will be very small) in the small percentage of games where you can get these kinds of framerates.
On a 60 Hz screen tearing is visible regardless of FPS. The tear line will be visible for 16.6 ms even at 5000 FPS.
 

isamu

OMFG HOLY MOTHER OF MARY IN HEAVEN I CANT BELIEVE IT WTF WHERE ARE MY SEDATIVES AAAAHHH
Fastsync isn't in any way comparable to gsync. Fastsync is still at the mercy of the scan rate of the monitor. Gsync will always scan out at your monitors highest refresh rate (generally 144hz) even if you are running under 30 fps. Fastsync still has to sync with your monitors refresh rate and really doesn't have tremendous benefits until you have extremely high in game frame rates. If you are internally rendering at 64fps and scanning out at 60 hz, then you will be unlikely to have any improvement over triple buffering. In fact if anything it seems like it's just driver level triple buffering, and you will have to have at least two times the frames as your refresh rate before you see 100% up time with fastsync. In other words the more your frame rate exceeds your refresh rate, the greater the impact of fastsync..

I am confused....are you saying that with for example a 100Hz G-sync display, if I run a game and it drops from say, 100 frames all the way down to 30 frames or so, I will not notice a difference? Will it continue to look just as smooth, even at 30fps? Really? Because if so I'm getting a G-sync monitor.
 
I am confused....are you saying that with for example a 100Hz G-sync display, if I run a game and it drops from say, 100 frames all the way down to 30 frames or so, I will not notice a difference? Will it continue to look just as smooth, even at 30fps? Really? Because if so I'm getting a G-sync monitor.

It's not going to look as smooth as 100 fps, obviously, but it's meant to get rid of the stutter that comes along with a variable framerate on a locked refresh rate. You will still notice a difference in smoothness because there are much fewer frames, but it's going to look a lot better than on a regular monitor.
 

riflen

Member
I am confused....are you saying that with for example a 100Hz G-sync display, if I run a game and it drops from say, 100 frames all the way down to 30 frames or so, I will not notice a difference? Will it continue to look just as smooth, even at 30fps? Really? Because if so I'm getting a G-sync monitor.

You can see a simulation of how G-Sync helps on this website. Obviously this is not a perfect representation, but it's pretty accurate for people who haven't seen it working in person.

There is no way to make it look as good as 100 fps, because you are seeing 100 unique frames of detail per second and 30 unique frames per second cannot compare. See above for an example. It's good tech, but there is no substitute for more frames. It would still be preferable to have 100 fps.
 

Parsnip

Member
Got confused for a second because OP's avatar is the same as dark10x.



But on topic, driver level triple buffering for all dx games sounds great.
Have they spoken about a timetable for it?
 

impact

Banned
This is so much better than Gsync holy shit

I wouldn't use it for CS:GO but I would use it for every other game. Vsync forced off is a PC gaming staple for me.

Does it work in borderless window mode?

Doesn't borderless window basically force vsync because of the shitty new Windows Aero you can't turn off?
 
This is so much better than Gsync holy shit

I wouldn't use it for CS:GO but I would use it for every other game. Vsync forced off is a PC gaming staple for me.



Doesn't borderless window basically force vsync because of the shitty new Windows Aero you can't turn off?

Better than GSYNC? Not even close. Fast Sync isn't worth using in most cases, while GSYNC/FreeSync is pretty much always worth it. You're saying that you'll use it for every other game than CSGO. You have to be able to run the game at 2-3x your monitor's refresh rate for it to be working well. It will be worse than Vsync for games you run at or around your monitor's refresh rate.
 

TSM

Member
Better than GSYNC? Not even close. Fast Sync isn't worth using in most cases, while GSYNC/FreeSync is pretty much always worth it. You're saying that you'll use it for every other game than CSGO. You have to be able to run the game at 2-3x your monitor's refresh rate for it to be working well. It will be worse than Vsync for games you run at or around your monitor's refresh rate.

Using fastsync at a frame rate below your monitors refresh rate is functionally identical to using vsync, and you gain no latency advantage. Once your frame rate exceeds your monitors refresh rate you begin to see improvements in your latency. Once you exceed twice your monitors refresh rate (120 fps for 60 hz, 240 fps for 120hz, etc) you will see the full benefits of fastsync.

So basically this has 2 use cases:

1) Low to moderate frame rates and the user wants driver level triple buffering. They are willing to put up with judder and/or frame pacing issues. Latency improvement will be minimal or nonexistent over standard vsync.

2) Frame rates approaching or exceeding twice the refresh rate of the users monitor. The user will gain a latency improvement Nvidia claims is an average of only 8ms higher than running the game with vsync off.

I'm sure there is a middle ground between 1x the frame rate and 2x the frame rate where people will see a mixture of 1 and 2. I'd go even further and say that their 8ms claim exists only for gamers with a 144hz monitor. The advantage over vsync off on a 60hz display is likely to be far far less. Probably 20ms+ over vsync off.
 

AYF 001

Member
Is this something that would negate microstutter as well? Ever since I upgraded to Win 10, one of the games I play will microstutter whenever I have a flight stick or controller plugged in, and so far, none of the other fixes I've tried have worked.
 
Top Bottom