NVidia Inspector 1.9.7.6 + FPS limit 59.7 = microstutter

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by 2mg, Aug 31, 2016.

  1. domyx80

    domyx80 Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    GTX 1060 3gb oc
    Much less input lag than half refresh rate+1 frame ahead, much much better ( exactly 2 frames less lag better :) )
     
  2. Mda400

    Mda400 Master Guru

    Messages:
    746
    Likes Received:
    41
    GPU:
    1660 - 2130/10ghz
    Always limit at or above refresh rate. If you limit below refresh rate, your display's flip logic wont ever be able to draw a complete frame on the screen and the input itself will never display as smooth or accurate as it could.
     
    Last edited: Jun 15, 2019
  3. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    415
    Likes Received:
    3
    GPU:
    MSI RX 580 Armor
    The display doesn't "detect a complete frame". Actually, the display does nothing. It refreshes with a fixed refreshrate. That's it (without variable vblank).
    It doesn't care how GPU outputs things. So the GPU has to care (vsync).
    You don't need any fps limit for perfect vsync. Perfect vsync itself already limits fps to refreshrate and thus is able to output perfectly synchronized. Any additional measures like fps-limiter do only harm, they can't improve what's already perfect.
     
  4. Mda400

    Mda400 Master Guru

    Messages:
    746
    Likes Received:
    41
    GPU:
    1660 - 2130/10ghz
    There's things going on behind Vsync (even the difference with how a graphics API utilizes it). You don't think that there's only 1 buffer (the frontbuffer) that it outputs from, right? You would see a fraction of the image complete and the rest black if that were the case.

    So you're right that the display doesn't "detect" ("draw" is more the word i should have been thinking of at the time) the framerate the GPU is outputting, but there are things you can do for the GPU to reduce the time it takes to compose everything on its end (backbuffering).
     
    Last edited: Jun 15, 2019

  5. BuildeR2

    BuildeR2 Ancient Guru

    Messages:
    2,837
    Likes Received:
    129
    GPU:
    EVGA 1080 Ti FTW3
    Not to be rude, but in my experience over the last few months with my gaming PC hooked up to a big TV over HDMI, this hasn't been the case. I tried all kinds of combinations of in game V-sync, adaptive V-sync, driver forced V-sync, RadeonPro forced V-sync/triple buffering, RTSS caps of 57, 58, 59, 60, 61, 62, 63 while testing every single one of the previous settings on and off, pixel clock patching, switching to a DVI cable and nothing kept all games from stuttering and having constant and massive frame times spikes in all games. Constant and consistent jumps from 16.8 to 19's, 20's and even up to 22ms making it to where I stopped gaming for weeks because I hated it that way.

    I updated to the most recent nvinspector and played around with the frame limiter and forcing adaptive V-sync, better results but the same behavior overall. I threw my hands up in the air and as a last ditch effort put it on 61fps cap via frame limiter v2. Launched Fallout 4 and was blown away. Played for about 8 minutes and then quit out to look at the MSIAB frame time graph. Whaddaya know, perfectly flat 16.7ms the entire freaking time! I finally after weeks of torture and failure figured out how to make it work like it should be. Witcher 3 works perfectly with 60fps v2 limiter and adaptive V-sync 1440p ultra. PCARS works perfectly with 63fps v2 limiter and adaptive V-sync 1620p ultra.

    It is a beautiful thing. Sorry I kind of went on a rant, but I'm still on a high from figuring this out and being able to game on a big TV with no compromises. To sum up, when I was on my 23 inch ASUS monitor years ago I used to think V-sync was perfect and needed no help. After moving to a TV that was no longer anywhere near true. Again, no disrespect is meant here as we are civil Guru's sharing knowledge and experiences. My only hope is that this may one day help somebody on a similar trek. :nerd:
     
  6. Mda400

    Mda400 Master Guru

    Messages:
    746
    Likes Received:
    41
    GPU:
    1660 - 2130/10ghz
    Exactly how I was when you did what you just described (never know unless you try what someone else suggests. If you see the difference, thats great. If not, then its not for you).

    One thing is that depending on the brand of HDTV you use, you can essentially turn it into a monitor like your 23" Asus, that displays full chroma RGB and disable all the extra enhancements/processing (all possible causes of input lag) it does further and i'm not talking about game mode. On some like LG or Samsung, you rename the HDMI port's label to PC or DVI PC, or change the picture mode to something like graphics on a Sony.

    This trick is usually for if you're outputting at your TV's native resolution or any common HDTV resolution similarly (like 1280x720/720p) as by default, they are configured to show compressed video content like 24hz, limited chromacity, Blu-ray (most use a monitor with a PC and use an HDTV for video but HDTV's with this option give you the best of both worlds). If you were to switch to a resolution like 1680x1050 (a resolution not found on consumer HDTV displays) then it produces the same effect as I call the "PC mode" trick.
     
    Last edited: Sep 14, 2016
  7. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    415
    Likes Received:
    3
    GPU:
    MSI RX 580 Armor
    So I tried out vsync + fps-limits slightly above refreshrate and.. tada: nothing changes compared to just vsync on.
     
  8. Mda400

    Mda400 Master Guru

    Messages:
    746
    Likes Received:
    41
    GPU:
    1660 - 2130/10ghz
    For a 60hz display, has to be adaptive vsync + max pre-rendered frames 1 + fps limit 60, 61, or 63 (frame limiter v2 in NVinspector). Dynamic vsync + Flip queue size 1 + 60 fps limit (Dynamic Frame Rate Control) in RadeonPro if you're doing this with the GPU in your system info.
     
    Last edited: Sep 14, 2016
  9. mbk1969

    mbk1969 Ancient Guru

    Messages:
    8,043
    Likes Received:
    4,777
    GPU:
    GeForce GTX 1070
    May be you should have a problem(s) in game(s) to notice a difference.
    I have no games with glitches (haven`t played much after W10 anniversary update) so I do not bother with tweaks in game profiles. But in case of troubles I will toy with...
     
  10. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    415
    Likes Received:
    3
    GPU:
    MSI RX 580 Armor
    Have updated my profile, got a GTX 1070.

    I also tried out adaptive vsync + fps-limiter v2:
    With 76 & 77fps limit (got 75Hz), it destroys the sync (tearing occurs) and I also lose a few fps performance.
    With 78fps, sync works again, but I'm still losing some performance compared to just adaptive vsync. I neither don't notice any improvement regarding input lag due to the limiter.
    So, no advantages with adaptive vsync + fps-limiter over just adaptive vsync.

    Btw: In Talos Principle, you can change triple buffering setting without vsync. If I set TB to off, adaptive vsync introduces that nasty stuttering when fps go below refreshrate. When it's turned on, that transition is smooth.
    So it seems in order to make adaptive vsync work correctly, the app needs to use triple buffering by itself. That probably explains why it's not working well in every game.
     

  11. BuildeR2

    BuildeR2 Ancient Guru

    Messages:
    2,837
    Likes Received:
    129
    GPU:
    EVGA 1080 Ti FTW3
    What kind of screen is that 1070 hooked up to? When I was using a monitor designed for use with PC's all I ever had to do was turn on V-sync and all was well. It was after my move to a TV, even with game mode and all effects and cinema motion things turned off, that it was super difficult to get smooth frame times without tearing and stuttering.
     
  12. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    415
    Likes Received:
    3
    GPU:
    MSI RX 580 Armor
    That's the case for me with PC monitor and I don't see why it should be different with a TV with proper EDID.
     
  13. Mda400

    Mda400 Master Guru

    Messages:
    746
    Likes Received:
    41
    GPU:
    1660 - 2130/10ghz
    Adaptive vsync doesn't need triple buffering, only standard vsync does. It turns standard Vsync on when framerate matches the refresh rate and turns it off when the framerate falls below the refresh rate.
    Sounds like you're still using standard vsync and will experience added input delay (without or without triple buffering) below refresh rate as Adaptive Vsync should have no stutter or added input lag, but tearing under refresh rate. The limiter only helps input lag when the framerate reaches your refresh rate so the engine doesn't get backpressured since its max update rate is very close to your refresh rate. Adaptive vsync helps input lag when under refresh rate (no vsync but tearing of course so the engine can render as fast as possible catch up).

    NVinspector should have Adaptive as the vsync method and control method should be force on to mirror the setting in the Nvidia control panel. But you should not be losing any performance by simply limiting your frame rate and using Adaptive vsync.

    What could possibly be making performance worse is if your GPU was bottlenecked by your CPU and max pre-rendered frames was set to 1, where the graphics card has to wait for the CPU and the framerate starts slowing down. Set max pre-rendered frames to 1 globally then set it to other values on a game-specific basis for performance troubleshooting.
     
    Last edited: Sep 15, 2016
  14. X7007

    X7007 Maha Guru

    Messages:
    1,446
    Likes Received:
    9
    GPU:
    Inno3D 1080GTX
    One thing I noticed is when playing Need For Speed Rivals with the FPS "hack" where you put the command to get 60 Fps . is that I limit it to 59 Fps because that's the Hz I am using and using Reshade for 3D effect shaders in the statistics it shows 64.5 Fps . why would limiting 59 Fps will result to 64.5 FPs ?

    So what is the best way to use Vsync + Fps cap ? Can someone do a little guide of what works fot TV's ? with pictures if possible, because it is so easy to make mistake.

    in NVCP to use Vsync on Adaptive + Fps cap to which number ? if I use 59 Hz to 59 Fps cap ? in RTSS or in NvidiaInspector Limit V2 ?
     
  15. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    415
    Likes Received:
    3
    GPU:
    MSI RX 580 Armor
    Of course it works without triple buffering, but not without nasty stuttering. At least that's true in Talos Principle.

    No.

    Adaptive Vsync also feels more direct when fps would be above refreshrate.
    tbh: That's why I think your fps-limit idea is just plain esoteric (just like a lot of other ideas that manifest in this thread).

    No, I run Talos with 2xSSAA in WQHD. Far away from any CPU limit.
     

  16. 2mg

    2mg Member

    Messages:
    32
    Likes Received:
    1
    GPU:
    760
    Is adaptive Vsync double or triple buffered?
     
  17. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    415
    Likes Received:
    3
    GPU:
    MSI RX 580 Armor
    Adaptive vsync definitely has lower input lag than modern TB vsync (even when the app itself uses triple buffering). Not just below refresh rate when vsync gets turned off with adaptive, but also at refresh rate limit (aka 75fps limit by vsync when refreshrate is 75Hz).
    I'm quite confident that I could distinguish both with that given scenario in a "double blind" test (double blind does not mean that I would be blind, but that I don't know which one is which ;) ).
     
  18. Mda400

    Mda400 Master Guru

    Messages:
    746
    Likes Received:
    41
    GPU:
    1660 - 2130/10ghz
    It will only have a "backbuffer" when it turns vsync on when the framerate matches your refresh rate. "Adaptive" Vsync turns Vsync off entirely when framerate is under refresh rate so there will be no "buffering" for triple buffering to be applied for.

    So triple buffering with adaptive vsync would only happen when vsync is turned on (when framerate matches refresh rate) which means its unnecessary because you have the least delay using Vsync when your framerate matches your refresh rate.

    In summary, triple buffering is only useful with Vsync still on under refresh rate. Since that doesn't happen with Adaptive Vsync, its not needed
     
  19. Mda400

    Mda400 Master Guru

    Messages:
    746
    Likes Received:
    41
    GPU:
    1660 - 2130/10ghz

    It's no different than standard Vsync when framerate matches refresh rate, but how it handles latency and stutter under refresh rate is the main difference of Adaptive.

    The fps limit is to make sure the engine's framerate never packs in more image data to the backbuffer than your display can refresh. So yes while both Vsync and fps limit both basic do the same thing, its Vsync that has more going on behind it that benefits from the simple fps limit combined with itself.

    Vsync isn't to blame, but more of how the graphics API utilizes Vsync (in DirectX's case, additional backbuffers that can't drop stale frames).
     
    Last edited: Sep 16, 2016
  20. 2mg

    2mg Member

    Messages:
    32
    Likes Received:
    1
    GPU:
    760
    I know it will turn on buffering above 60hz, I just didn't know is it by default DB or TB.
     

Share This Page