Alternative to GSYNC-setting "VSync on + 142fps framelimit". What do you think?

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by Vindor, Jun 7, 2017.

  1. Darren Hodgson

    Darren Hodgson Ancient Guru

    Messages:
    17,218
    Likes Received:
    1,539
    GPU:
    NVIDIA RTX 4080 FE
    I absolutely agree with you here.

    If NVIDIA had intended for G-SYNC monitor owners to set framerate limits for games then they would have included the option in their control panel. I'm not really sure why you would set a framerate limit just below the refresh rate anyway; G-SYNC works with framerates up to 1 fps below the refresh rate then at the refresh rate normal v-sync takes over (if you have it set to On in the global profile otherwise you will experience screen tearing).

    What does setting a cap of 1-5 fps below the refresh actually do other than slightly lower your maximum framerate? :3eyes:
     
  2. Darren Hodgson

    Darren Hodgson Ancient Guru

    Messages:
    17,218
    Likes Received:
    1,539
    GPU:
    NVIDIA RTX 4080 FE
    With G-SYNC, I think it is best to enable V-Sync globally and then disable it/use Fast V-Sync for any games that misbehave. In my experience of testing over 50 games over the past few days G-SYNC works fine with everything I played.

    The only oddity I saw was G-SYNC being disabled (I have the indicator on and it disappears) during FIFA 17's replays and cutscenes. I'm not sure why that happens and why G-SYNC does appear to be active in the main menu but doesn't seem to have any negative effect on the game as these scenes still run smoothly at up to 165 fps on my system. However, this is the ony game where I have seen this behaviour so far so maybe there is some incompatibility here that NVIDIA have addressed in the driver or per-game profile?
     
  3. Mda400

    Mda400 Maha Guru

    Messages:
    1,090
    Likes Received:
    201
    GPU:
    4070Ti 3GHz/24GHz
    If Vsync works as it should in a game, then i wouldn't see the need for forcing from the driver globally especially with G-Sync (if you don't want your graphics card to run full-bore since a frame limiter is recommended to keep lag low running under refresh rate and stuttering/tearing never occurs using G-Sync).

    If a game didn't have a Vsync toggle or has frame pacing issues, that's where i would think about controlling Vsync from the driver.

    G-Sync as other's have noted, has a range of where it activates. If it falls below 30 or rises above the panel's native refresh rate then it will deactivate.
     
    Last edited: Jun 8, 2017
  4. Darren Hodgson

    Darren Hodgson Ancient Guru

    Messages:
    17,218
    Likes Received:
    1,539
    GPU:
    NVIDIA RTX 4080 FE
    G-SYNC still works below 30 fps apparently as it works by doubling/tripling/quadrupling the refresh rate depending on how low the framerate goes, e.g. at 29 fps it will refresh at 58 Hz (2 x 29) and at 18 fps it will refresh at 54 Hz (3 x 18). At least that's what I read so, if that is the case, then it isn't technically deactivated below 30 fps.
     

  5. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,907
    Likes Received:
    1,027
    GPU:
    RTX 4090
    Vsync adds lag which is absent with gsync. Now, I have my doubts about many people actually being able to perceive this lag at 144Hz but this is a valid point anyway - I don't know why NV is using regular vsync once the top limit of gsync is reached instead of using the same gsync in place of vsync and limiting the fps to refresh rate automatically.
     
  6. RealNC

    RealNC Ancient Guru

    Messages:
    5,033
    Likes Received:
    3,323
    GPU:
    4070 Ti Super
    NVidia intended v-sync to be the "best" experience, and g-sync to be enabled when perfect v-sync can't be maintained.

    This happens at 2FPS below refresh. Not 1FPS, not 3FPS. 2.

    Again: NVidia intended v-sync to be the perfect experience. No frame limiting on their part.

    If you DON'T agree with that, you NEED to use a frame limiter

    End of story. I feel like I'm talking in circles. Writing something, and then people forget what I said and I need to write it again.
     
  7. Darren Hodgson

    Darren Hodgson Ancient Guru

    Messages:
    17,218
    Likes Received:
    1,539
    GPU:
    NVIDIA RTX 4080 FE
    Ah right, on a 165 Hz display v-sync would be engaged and, thus, G-SYNC disengaged at 165 fps and potentially introduce additional lag so by setting the maximum FPS at 163 fps then you ensure that G-SYNC is used at all times.

    I initially assumed that G-SYNC turns off at 166 FPS and higher on my display and that it was still working at 165 fps. I can see my monitor's refresh rate meter switching between 164 and 165 fps when that happens but, confusingly, the NVIDIA G-SYNC indicator still shows as ON here.

    To be honest, NVIDIA should really code this into the driver so that if you want G-SYNC to work all the time up to the max. refresh rate then the games are limited by 2 FPS automatically. I'm surprised they haven't done this as it makes for a more all-round user-friendly experience IMO.
     
    Last edited: Jun 9, 2017
  8. RealNC

    RealNC Ancient Guru

    Messages:
    5,033
    Likes Received:
    3,323
    GPU:
    4070 Ti Super
    NVidia's frame limiter was tested and shown to add as much input lag as vsync. So it wouldn't help anything.

    Recently, a special "hidden" tweak in their frame limiter seems to made it perform as good as RTSS. Maybe that's a sign that they intend to finally add the function into their control panel. But nobody knows for sure.
     
  9. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,907
    Likes Received:
    1,027
    GPU:
    RTX 4090
    This is a weird situation though as I don't understand what's stopping them from using gsync instead of vsync even on top refresh rate possible. The way I see it, there is zero reason to even allow any form or type of vsync on a gsync system, the only option which they should provide (in addition to gsync control) is the option of limiting fps at refresh rate or allowing them to go higher, outside of gsync range.
     
  10. Agent-A01

    Agent-A01 Ancient Guru

    Messages:
    11,640
    Likes Received:
    1,143
    GPU:
    4090 FE H20
    See below..

     

  11. sniperbr0

    sniperbr0 Guest

    Messages:
    1,109
    Likes Received:
    1
    GPU:
    EVGA SC BLACK 1080TI
    Could you please post the source of that? I am interested in reading more about it.

    Also, as it says it should be avoided, what are the implications of it not being avoided? (one of the reasons I want to read more about it on the source)


    Could you please post a link to a step-by-step guide on how to use such tweak? I know it involves NvInspector but I do not know the details.


    I use my RTSS capped at 138, because it sometimes hits 140-141 when FPS varies too quickly and RTSS is not able to keep up. I've seen other people recommending the same, capping at ~138-140. I would like more information on why 2 FPS is better than slightly lower FPS for G-sync (besides the obvious implications of running 142 FPS at 142hz vs 138 FPS at 138HZ).

    Sorry if this is something already mentioned in another thread.

    I believe this is not true as I start to see tearing when FPS falls below 30, even with G-Sync enabled.
     
  12. jorimt

    jorimt Active Member

    Messages:
    73
    Likes Received:
    69
    GPU:
    GIGABYTE RTX 4090
    That's from my original thread on the Blur Busters Forums:
    http://forums.blurbusters.com/viewtopic.php?f=5&t=3073

    The information contained within that thread is incomplete, however, and my full 4-part article will hopefully be posted to blurbusters.com next week.

    The article will have an even more accurate explanation of what he quoted, as well as dozens of input latency tests across various scenarios.

    To put it simply, tear-free G-SYNC (G-SYNC + V-SYNC) is limited by the scanout of the display, the speed of which is limited by the maximum refresh rate.

    Any faster delivery, and you're actually asking for tearing; single frame delivery has its limits.
     
    Last edited: Jun 10, 2017
  13. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,907
    Likes Received:
    1,027
    GPU:
    RTX 4090
    Nothing stands in NV's way to fix this behavior. Gsync should not result in regular vsync at peak refresh rate, this is just stupid.
     
  14. jorimt

    jorimt Active Member

    Messages:
    73
    Likes Received:
    69
    GPU:
    GIGABYTE RTX 4090
    How do you suggest they fix it then? Stupid or not, it doesn't change the fact that to prevent G-SYNC from reverting to V-SYNC behavior above the refresh rate, Nvidia would have to implement a driver-level framerate limiter to regulate frames of the given game, which is already available via Nvidia Inspector.

    The problem is, a driver-level limiter isn't close enough to the engine-level to predict for and intercept frames early enough, which causes the extra latency.

    The answer is for more devs to start including framerate limiters in their games. If an in-game framerate limiter isn't available, RTSS is currently the best option available for G-SYNC.

    In fact, I'm pretty sure Nvidia did not originally expect that so many systems would be able to reach framerates that exceed such high refresh rates in a considerable amount of games so soon; G-SYNC was primarily intended for variable framerates within the refresh rate, after all.

    Again, I'll have more details in my article, which should be released next week.
     
    Last edited: Jun 10, 2017
  15. RealNC

    RealNC Ancient Guru

    Messages:
    5,033
    Likes Received:
    3,323
    GPU:
    4070 Ti Super
    http://forums.guru3d.com/showthread.php?p=5434817#post5434817

    You need the latest build if profile inspector:

    https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts

    Or just use RTSS. The above tweak brings nvidia's limiter closer to RTSS. RTSS is still the benchmark when it comes to frame limiters.

    Also note that the above tweak turned out to not work unless you cap to at least 8FPS below refresh rate (and probably more to be 100% safe.) On 144Hz, that means 136FPS. If you don't, you get severe stutter, as the driver switches constantly between g-sync and fastsync.

    RTSS does not have this issue.


    The only way to fix this would be to a) do frame capping and b) have g-sync monitors always support 2 or 3Hz above their official max when in g-sync mode. Now, "b" would be easy. FreeSync monitors already do this (many 144Hz monitors can work up to 146Hz in Freesync.) But "a" is difficult. How would nvidia limit the frame rate without introducing latency? Their frame limiter is very bad at this. Using it raises input latency to levels that are almost as bad as vsync. So you wouldn't gain anything.

    The aforementioned tweak seems to help here, but at this point it's not even known whether the tweak is even intended or not (could be the side effect of a driver bug.)

    And besides, nvidia sells g-sync as a backup or fail-safe to vsync. NVidia's thinking is that you should be using vsync when the frame rate is maxed out, which according to nvidia is the "perfect experience", and have g-sync as a fail-safe when the frame rate falls below "perfect vsync."

    When I say "perfect vsync", it's not something I'm pulling out of my ass though. This is what NVidia's Tom Petersen said when he described "perfect vsync" to be the best experience possible, and g-sync being there for when perfect vsync cannot be achieved:

    https://www.youtube.com/watch?v=KhLYYYvFp9A

    What NVidia doesn't consider of course is that smooth motion is not everything. Latency is also important. And that's why it's up to us to limit the frame rate is we want lower latency.
     
    Last edited: Jun 10, 2017

  16. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,907
    Likes Received:
    1,027
    GPU:
    RTX 4090
    Well "b" was one option which I immediately thought of myself. It's just seems like a design hole when your synchronization h/w suddenly stops working in the most common case of an app running at monitor's peak refresh rate.

    I'm also not so sure that it's so difficult to have an fps limiter without much added lag - but it may require some h/w support.
     
  17. jorimt

    jorimt Active Member

    Messages:
    73
    Likes Received:
    69
    GPU:
    GIGABYTE RTX 4090
    Hm, I didn't know FreeSync could do that.

    Forgive me if I'm missing the point here, but how would "b" solve anything if used for G-SYNC?

    Wouldn't that effectively make a 144Hz display a 146/147Hz display, and simply require a different FPS limit (e.g. 144/145 FPS limit)?

    I mean, if the system in question can exceed framerates above the refresh rate enough to justify an FPS limit in the first place, those extra 2-3 Hz would help nothing once exceeded, as G-SYNC relies on adjusting the refresh rate to the framerate to function.

    Unless, of course, you mean that the extra Hz would not count toward the native ceiling of the refresh rate (not even sure how this is possible, however), and you could set an FPS limit in that range instead, but you'd run into the same extra latency issue with external solutions when they were the limiting factor.
     
  18. RealNC

    RealNC Ancient Guru

    Messages:
    5,033
    Likes Received:
    3,323
    GPU:
    4070 Ti Super
    For G-Sync to not look like it reduces the refresh rate if it would cap the frame rate, monitors would need to internally have 2Hz higher refresh. Otherwise I can imagine people complaining that their 144Hz monitor only go up to 142FPS with g-sync.

    This would be mostly important for 60Hz monitors though. Although 60Hz g-sync monitors are a dying breed now.

    VRR (meaning g-sync and freesync) can only delay the next scanout of the monitor when the game takes too long to render a frame. When the frame takes less time to render than the native refresh interval, VRR can do nothing. It either has to vsync or tear. No other option. It can only slow down the monitor, not speed it up (because the monitor cannot handle that, as it would exceed its maximum refresh rate.)

    RTSS does this just fine. It's just nvidia's frame limiter that has latency issues. The fastsync + g-sync "hidden" tweak seems to have mitigated the issue though.

    With that being said, nvidia's limiter does have the potential to reduce input lag even further than RTSS does because it's part of the driver. But nvidia has not utilized that.
     
  19. jorimt

    jorimt Active Member

    Messages:
    73
    Likes Received:
    69
    GPU:
    GIGABYTE RTX 4090
    Ah, I get it now.

    Yes, if Nvidia could somehow create a low-latency, or latency-free driver-level FPS limiter, and a 144Hz G-SYNC monitor had a hidden 2-3 Hz surplus, then they could use the built-in limiter to avoid the G-SYNC ceiling.

    If the less informed ever found out about that 2 extra Hz out of context, however, I can imagine they would irrationally state that "G-Stink is stealing two 2Hz of my refresh rate." Oh well.

    The question is, could Nvidia even create a latency-free limiter. My answer now would be no. It would have to predict frame output from too far down the rendering chain. Durante attempted a predictive external FPS limiter once (http://www.neogaf.com/forum/showthread.php?t=1043959), which was close to latency-free, unless there was too fast of a framerate/frametime variance, at which point, it would add even more lag than other external limiters.

    Thankfully, there are actually quite a lot of modern games/game engines that feature an in-game limiter, and for those that don't, RTSS is CPU-side (closest to engine-level), and only has up to a frame of latency.

    Short of professional competitive players, I would be interested to know if the average gamer could even detect, or care, about the <6.9ms RTSS would add at 144Hz, as I have a hard time detecting it myself. RTSS also has excellent frame pacing.
     
    Last edited: Jun 10, 2017
  20. RealNC

    RealNC Ancient Guru

    Messages:
    5,033
    Likes Received:
    3,323
    GPU:
    4070 Ti Super
    It doesn't have to be latency-free. It only has to be low-latency. RTSS for example will ensure that the latency you get is the natural latency of your frame rate. 16.7ms on 60FPS, 10ms on 100FPS, 6.9ms at 144FPS, etc. That is pretty good, actually. It matches vsync off latency at those frame rates.

    Let that sink in: G-Sync with RTSS at N frames per second has either the same input lag as no g-sync, no vsync at N frames per second, or LESS than that, because it keeps all frame buffers empty, including the pre-rendered frames queue. That IS good.

    Predictive frame limiters attempt to bring latency down even further. But just having the natural latency of your target frame rate is actually quite good already, and heaps better than hitting vsync. When you hit vsync, you get vsync backpressure. At 60FPS, instead of the natural 16.7ms of latency, you can get latency that approaches 100ms. That's why 60Hz vsync feels so crappy. With RTSS, even 30FPS feels quite "snappy" compared to that.

    If NVidia could add a "plug 'n' play" frame limiter when using G-Sync that just does that (natural latency of the target frame rate), that would be enough. Latency-free would be even better of course, not arguing here, but a limiter that's simply just as good as RTSS would be good enough.

    Durante's GeDoSaTo does not have the same level of access to a game's engine as the driver does. NVidia makes the driver, so they have full access to every game/driver interaction. It stands to reason that they could implement a very low-latency frame limiter easier than Durante ever could.
     
    Last edited: Jun 11, 2017

Share This Page