Page 6 of 33

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 19:36
by jorimt
MT_ wrote:
jorimt wrote:I believe the latest version of RTSS can do decimal capping, you simply have to input it into the actual config file. Haven't tried it myself though.

And yes, the entire point of the fps limit is to avoid G-Sync's v-sync behavior at/above the refresh limit. Not sure if you mean stacking two fps limiters in this case; again, I don't see an advantage.

Also, in my testing, RTSS doesn't add additional input latency with G-Sync, so you shouldn't have to worry about that. And as for "spiking" to 59 fps with RTSS at a 58 fps limit, that is unlikely. Spikes usually cause lower frames, not higher frames. Anyway, you'd have to be at 59/60+ a considerable longer time for G-Sync to start acting like v-sync, which an appropriate fps limit prevents.

The only reason G-Sync begins to act like v-sync at the display's refresh rate limit is because it can no longer adjust the refresh rate to match the framerate output by the system; if you're sustaining 59+ frames for a long period, and the two frame buffers begin to over-queue, this delays frame display, which, in turn, causes the latency (at 60 Hz, double buffer latency is up to two frames delay: 16.6ms x 2 = 33.2ms additional latency).
I have already tried RTSS in combination with G-sync and surprisingly there was noticable input lag. I'm a bit surprised now as the thread start also mentions RTSS with Gsync gives no extra latency? Or is this because I have V-sync enabled as well for frametime stabilization?

Good to know on the decimal stuff though.


Another question, if someone ever tested this; Enabling Aero/Compositor in Windows 7 introduces quite some input lag. What happens though in a Windowed game with proper cap? Is it still worse than full screen exclusive? It 'feels' the same when it comes to input lag anyway...

Also how does V-sync work with G-sync in windowed mode? I guess now it uses the compositor built-in V-sync to do the frametime stabilization and such?
You quite simply shouldn't be experiencing input latency with G-Sync + v-sync on + 58 RTSS fps limit. I haven't completed my input latency tests at 60 Hz as of yet, but there shouldn't be a difference; either you're experiencing 1+ frame of additional latency, or you're not. There really is no in-between.

There is the simple fact that 58 fps at 60 Hz is a much more noticeable fluidity drop than 98 fps at 100 Hz or 142 fps at 144 Hz, so it is possible you could be mistaking that for additional input latency. It's one of the downsides of a 60 Hz G-Sync display + fps limiting.

As for windowed mode + G-Sync, with the proper cap, it should be the same as exclusive fullscreen in regards to latency. It will however have a 5% performance drop on average over fullscreen mode, G-Sync or no G-Sync.

EDIT: I explain how G-Sync windowed mode works in the OP on this thread.

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 19:41
by MT_
jorimt wrote:
MT_ wrote:
jorimt wrote:I believe the latest version of RTSS can do decimal capping, you simply have to input it into the actual config file. Haven't tried it myself though.

And yes, the entire point of the fps limit is to avoid G-Sync's v-sync behavior at/above the refresh limit. Not sure if you mean stacking two fps limiters in this case; again, I don't see an advantage.

Also, in my testing, RTSS doesn't add additional input latency with G-Sync, so you shouldn't have to worry about that. And as for "spiking" to 59 fps with RTSS at a 58 fps limit, that is unlikely. Spikes usually cause lower frames, not higher frames. Anyway, you'd have to be at 59/60+ a considerable longer time for G-Sync to start acting like v-sync, which an appropriate fps limit prevents.

The only reason G-Sync begins to act like v-sync at the display's refresh rate limit is because it can no longer adjust the refresh rate to match the framerate output by the system; if you're sustaining 59+ frames for a long period, and the two frame buffers begin to over-queue, this delays frame display, which, in turn, causes the latency (at 60 Hz, double buffer latency is up to two frames delay: 16.6ms x 2 = 33.2ms additional latency).
I have already tried RTSS in combination with G-sync and surprisingly there was noticable input lag. I'm a bit surprised now as the thread start also mentions RTSS with Gsync gives no extra latency? Or is this because I have V-sync enabled as well for frametime stabilization?

Good to know on the decimal stuff though.


Another question, if someone ever tested this; Enabling Aero/Compositor in Windows 7 introduces quite some input lag. What happens though in a Windowed game with proper cap? Is it still worse than full screen exclusive? It 'feels' the same when it comes to input lag anyway...

Also how does V-sync work with G-sync in windowed mode? I guess now it uses the compositor built-in V-sync to do the frametime stabilization and such?
You quite simply shouldn't be experiencing input latency with G-Sync + v-sync on + 58 RTSS fps limit. I haven't completed my input latency tests at 60 Hz as of yet, but there shouldn't be a difference; either you're experiencing 1+ frame of additional latency, or you're not. There really is no in-between.

There is the simple fact that 58 fps at 60 Hz is a much more noticeable fluidity drop than 98 fps at 100 Hz or 142 fps at 144 Hz, so it is possible you could be mistaking that for additional input latency. It's one of the downsides of a 60 Hz G-Sync display + fps limiting.

As for windowed mode + G-Sync, with the proper cap, it should be the same as exclusive fullscreen in regards to latency. It will however have a 5% performance drop on average over fullscreen mode, G-Sync or no G-Sync.
Thanks. Yeah it feels identical when it comes to latency. Full screen implementation in my game is pretty unstable. lol

I'll see if i can make RTSS work without additional latency, perhaps i missed something. But no, i'm not confusing perceived smoothness with latency, so something is going on here.

I mean, I can notice the difference in fluidity at 55fps vs 57fps for instance. Its very subtle, but there.
Probably the whole reason I want to get my fps as high as possible without any ill side effects.

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 19:46
by jorimt
Is it happening in a particular game or several?

And regarding a 58 fps cap, even with traditional double buffer v-sync on a non-G-Sync display at 60 Hz, you would still see a full frame of latency reduction with RTSS over uncapped. With G-Sync, it's a two frame reduction (e.g. zero additional latency) in my testing.

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 19:53
by MT_
jorimt wrote:Is it happening in a particular game or several?

And regarding a 58 fps cap, even with traditional double buffer v-sync on a non-G-Sync display at 60 Hz, you would still see a full frame of latency reduction with RTSS over uncapped. With G-Sync, it's a two frame reduction (e.g. zero additional latency) in my testing.
I'm only playing Mechwarrior Online at the moment.

I'll let you know what happens in further testing.

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 19:59
by RealNC
MT_ wrote:I have already tried RTSS in combination with G-sync and surprisingly there was noticable input lag.
Can you test gsync off, vsync off and RTSS cap? Do you also get the same input lag there?
I'm a bit surprised now as the thread start also mentions RTSS with Gsync gives no extra latency? Or is this because I have V-sync enabled as well for frametime stabilization?
As previously mentioned, if you get near your max refresh, then yes, you're gonna get the full vsync latency. Another test you can do is gsync off, vsync on, and cap to 59.88FPS. Assuming you're on a 59.94Hz monitor. You can test here:

https://www.vsynctester.com

(Pay attention to the Google Chrome workaround notice at the top. Click it if you're on Chrome.)

Once it runs a while, the refresh rate detection will be very accurate. Cap 0.06FPS lower than refresh. For 59.94Hz, that's 59.88FPS ("5988" for the cap and "100" for the denominator value in the profile file.)

If that gives you the same latency as gsync on + vsync on, then that means gsync has switched to full vsync because you're very near the max refresh.

So to summarize, test these:
  • Gsync on, vsync on, 55FPS cap.
  • Gsync on, vsync on, 59FPS cap.
  • Gsync off, vsync off, 60FPS cap.
  • Gsync off, vsync on, 0.06FPS lower than Hz cap.
And see which gives you good latency. Then we can figure out what the best setup is gonna be.
Another question, if someone ever tested this; Enabling Aero/Compositor in Windows 7 introduces quite some input lag. What happens though in a Windowed game with proper cap? Is it still worse than full screen exclusive? Its kinda hard to test :o
Windowed mode + compositing is only of use with vsync off and without gsync. This is used to play with vsync off but without tearing. However, since NVidia added fastsync to the drivers, this setup is not useful anymore. Fastsync does the same as windowed mode, except there's no additional latency. And it has the same micro-stutter issue as windowed mode, since in both modes frames are just skipped and only the latest available is being displayed. Fastsync tries to be smarter about this by trying to cap the game to an exact multiple of the refresh, while windowed mode makes no such attempt.

In both windowed and fastsync, you need 200+FPS to get rid of noticeable microstutter.

Windowed mode + vsync on doesn't make sense. You can do it, but when using vsync, what's the point? Just use exclusive fullscreen.

All in all, since you have gsync, you don't need to bother with windowed mode.

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 20:05
by MT_
Thanks, I'll play with that tester.

Ok so I've managed to get equal low latency in full window as i get in full screen exclusive with in-game cap, with RTSS at 59 fps even! Pretty much on par with the game running uncapped without any sync solution.

Dropping doesn't seem to affect it, going to 60 obviously relies on Aero Vsync as the micro stutters from that are instantly noticable and adds traditional V-sync input lag.

Still surprised that 59 is still acceptable O.o Should be just about the extreme edge there.
I wonder how much more I can add to that with the decimal trick.

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 20:09
by RealNC
I assume it's gsync that does that? Or did you do that with gsync off?

(Yes, gsync does work in windowed mode too, but there's usually no reason to do that. Unless you want quick alt+tab or the game doesn't support true fullscreen.)

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 20:09
by MT_
RealNC wrote:I assume it's gsync that does that? Or did you do that with gsync off?

(Yes, gsync does work in windowed mode too, but there's usually no reason to do that. Unless you want quick alt+tab or the game doesn't support true fullscreen.)
With G-sync :-)

Lets say that full screen is half ass job in this game. Alt+tabbing between game and main menu will make it jump back and forth until the game crashes... Unless I provoke task manager in time.

It's a problem with the game tho, not even related to any Sync tech.

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 20:13
by RealNC
Then you should not be affected by microstutter.

Fullscreen is always better though in the majority of cases. Even with gsync, the compositor still needs to do compositing, and that adds a tad of delay.

Also, some games can't set up their gamma value in windowed mode. This can make the game look brighter or darker than what the developers intended. Witcher 3 is one of those games, for example.

But in any event, use whatever works best with the specific game. If Mechwarrior Online has crappy fullscreen, then obviously, the best thing to do is use windowed mode!

Also try the executable's properties though and enable the "disable aero" checkbox (right click on the *.exe of the game and select properties.) This is gonna disable compositing when you start the game, but it might give you the best results possible. (Hopefully gsync can work in that mode too.)

Re: G-Sync 101 w/Chart (WIP)

Posted: 19 Jan 2017, 20:16
by jorimt
MT_ wrote:Lets say that full screen is half ass job in this game. Alt+tabbing between game and main menu will make it jump back and forth until the game crashes... Unless I provoke task manager in time.
It's possible MechWarrior Online does not feature exclusive fullscreen.

Just to double check, do you have "Enable G-SYNC for full screen mode" or "Enable G-SYNC for windowed and full screen mode?" If you only have the first enabled, G-Sync won't function in windowed or borderless windowed (borderless fullscreen) mode.

I will be testing 60 Hz G-Sync input latency specifically in the future, so I'll try both 58 and 59 fps to see how far it can be pushed before latency is introduced.