How can I enable NVIDIA FPS limiter V1 and V2 modes via NV Profile Inspector?

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by RodroG, Feb 24, 2020.

  1. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Title. Latest NV Profile Inspector ver (2.3.0.11) shows the following related settings under the "Sync and Refresh" section:
    • Frame Rate Limiter (here you can set the FPS value you want as limit, so this option it's clear for me)
    • Frame Rate Limiter Mode (with different options/modes you can select, and here my doubts arise):
      • Default (is this V1 or V2? or none?...)
      • Limiter V2 - Allow all (is this V2? or a special V2 mode?...)
      • Limiter V2 - Force Off [Enables Limiter V1 (Less Input Lag)] (is this V2 or V1? or a special V1?...)
    I'm not interested in V3 because it can be enabled easily through the NVCP and via Inspector too (there is a separate setting for V3 [Frame Rate Limiter V3]).

    What I'd need to know is how to properly enable/set up the NV FPS limiter V1 or V2. I need to have this clear for benchmarking purposes. Any help is welcome and it'd be greatly appreciated.

    Thanks in advance!
     
  2. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Please, any help?... @emperorsfist @MajorMagee @EerieEgg may be you can help me with this...

    I need to have this pretty clear in order to perform a benchmarking of NVIDIA's V1, V2, and V3 limiters in terms of frame time consistency and approximate input lag.
     
  3. HeavyHemi

    HeavyHemi Guest

    Messages:
    6,952
    Likes Received:
    960
    GPU:
    GTX1080Ti
    RodroG likes this.
  4. emperorsfist

    emperorsfist Ancient Guru

    Messages:
    1,972
    Likes Received:
    1,074
    GPU:
    AORUS RTX 3070 8Gb
    It has been a while since I've used Nvidiainspector, but I believe that the last time it was "Limiter V2 - Force off" that used V1. I'm pretty sure about that @RodroG
     
    RodroG likes this.

  5. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Just did it mate as comment there. Thanks for the tip. Anyway, I'm going keep this thread opened too.

    Thanks mate. Ok, so "Limiter V2 - Force Off" would be V1 as far you remember, and do you remember which one would be V2? "Default" or "Limiter V2 - Froce All"?
     
  6. emperorsfist

    emperorsfist Ancient Guru

    Messages:
    1,972
    Likes Received:
    1,074
    GPU:
    AORUS RTX 3070 8Gb
    Limiter V2 - Force All is definitely V2. I'm not sure about default, though, because I've never used it. I quickly ditched framelimiting in Inspector in favour of RTSS.
     
  7. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Nice, thank you again. So if you are right and remember correctly, we'd have this:
    • Limiter V2 - Force Off = NVIDIA's FPS limiter V1
    • Limiter V2 - Force All = NVIDIA's FPS limiter V2
    Can I be 100% sure of this? Or should I better wait for further replies?

    No problem, but would be nice to know it...

    It makes sense mate, personally, I also prefer to use RTSS, but as I said above I need to solve this issue in order to perform a benchmarking about NVIDIA's FPS Limiter V1 vs V2 vs V3.

    Perhaps @Orbmu2k can help us.
     
    emperorsfist likes this.
  8. emperorsfist

    emperorsfist Ancient Guru

    Messages:
    1,972
    Likes Received:
    1,074
    GPU:
    AORUS RTX 3070 8Gb
    I would wait for further replies, but according to post #6 here: https://forums.guru3d.com/threads/n...imiter-different-versions-explanation.415395/ "Default" is V2.
     
  9. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Ok, will wait then.

    @RealNC state there that:

    So, does it mean that NV limiter V1 only would work if Fast Sync is enabled?... Sadly, I read such thread but I didn't find a clear answer to the OP and my current question here. I hope someone can fully clarify the issue.
     
  10. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,414
    Likes Received:
    1,139
    GPU:
    RTX 3070
    @RodroG Sorry for the delayed reply, unfortunately I'm not sure off the top of my head.

    In the past I recall there was a simple dropdown selector in Nvidia Inspector with the various limiter versions clearly labeled, but it's been sometime since I had experimented with the inspector myself and I've not yet used it post Nvidia's V3 limiter (since my understanding was that overall V3 is superior to V1/V2 or RTSS for that matter so not much practical value in using V1 or V2 I had thought though I could certainly be mistaken here).

    On old versions of Inspector, I believe it defaulted to V2 and that may still be the case. One probably more difficult way to test this might be to double check if the input lag values are the same between the "Default" of the inspector and the new control panel limiter/RTSS as in the past BattleNonSense verified through his tests that V2 limiter had more input lag than RTSS (and then also the new V3 limiter since in BNS tests he also found their input lag to be about the same).

    Now, my thought would be that they would change the default limiter in Inspector to V3 at some point -- perhaps it's already occurred, I don't know yet -- though that's just speculation on my part at this time. Not sure why they'd want to leave it defaulting to V2 now that V3 is out.
     

  11. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    The Battle(non)sense's video you mentioned is this? Sadly, in that video it isn't still clear, considering the test labels he used when making his graphs, if he tested V1 or V2 vs V2 - Force Off though... :/

    But actually they wouldn't default to V2 because we can't be sure which setting is V2 or V1... Currently, latest NV Profile Inspector has a separated setting for the V3 limiter and can easily enabled through the NV CP as well, so no problem for my benchmarking purposes here.
     
    Last edited: Feb 24, 2020
    BlindBison likes this.
  12. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,414
    Likes Received:
    1,139
    GPU:
    RTX 3070
    I hear you :( Perhaps Nvidia Inspector needs to be updated with regards to what we're discussing since it's so unclear to the user what limiter is actually being used in the current version from what I gather.
     
    RodroG likes this.
  13. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Yes, maybe it should be updated. Anyway, this would be another topic even if clearly related with the current.

    Perhaps @jorimt may be able to help us with the issue too.
     
  14. RealNC

    RealNC Ancient Guru

    Messages:
    4,954
    Likes Received:
    3,233
    GPU:
    4070 Ti Super
    That was in 2017. NVidia has changed limiter related stuff in the driver since then. I have no idea if this information is still true.
     
  15. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Ok, thanks, but do you know which option is V1 and V2 limiter?
     
    Last edited: Feb 24, 2020

  16. Orbmu2k

    Orbmu2k Member Guru

    Messages:
    116
    Likes Received:
    21
    GPU:
    RTX 4090
    Default - defaults to V2 since ages, but in very old drivers it have had defaulted to V1, so maybe it defaults to V3 already or soon?
    Allow All - uses version 2
    Force Off - forces to V1

    tldr: use "allow all" for v2 and "force off" for v1 on the current driver


    more confusion incoming...

    especially the framelimiter had so much internal changes in the past it is impossible to make clear assumptions. since this setting was always inofficial, nvidia changed things a lot here. there came new features, some of them were enabled by default some of them were activated/disabled behind the selection values from inspector. each driver version has different behaviors. nvidia played a lot with things like better frame pacing, pushing tearing line to the lower edge, different wait cycles, free/gsync optimizations etc. each iteration of changes and each new flag had also impact on latency.

    the very first version of framelimiter v1 long before v2 or any optimization changes came in, the v1 was a very good limiter in regards of inputlag with vsync and sub refreshrate limits.

    the current version v1 is still better as v2 but not as good as before, except if you enable Ultra Low Latency.

    i also believe V3 limiter is almost equal to the V1 limiter behavior if you used inpectors setting values

    inspector combines the following flags inside each framerate selection

    Code:
        PS_FRAMERATE_LIMITER_ACCURATE,
        PS_FRAMERATE_LIMITER_ALLOW_WINDOWED,
        PS_FRAMERATE_LIMITER_FORCEON,
        PS_FRAMERATE_LIMITER_ENABLED ,
        PS_FRAMERATE_LIMITER_OPENGL_REMOTE_DESKTOP,
        PS_FRAMERATE_LIMITER_NO_LAG_OFFSET,
        PS_FRAMERATE_LIMITER_LOW_LATENCY_AUTO,
        PS_FRAMERATE_LIMITER_NO_ALIGN,
    
    those flags have effect for v1 and v2 behaviors but not all flags have effect for v1 and not all flags have effects for v2. there is no further documentation to this and i choosed what feels best in quick tests and makes sense by the flag name.

    you can not just nail it down to v1 or v2. its always a matter of flags u are using. also you have to consider impacts from Preredered Frames, Ultra low Latency feature and VSync/GSync.

    Code:
    enum EValues_PS_FRAMERATE_LIMITER {
        PS_FRAMERATE_LIMITER_DISABLED                        = 0x00000000,
        PS_FRAMERATE_LIMITER_FPS_20                          = 0x00000014,
        PS_FRAMERATE_LIMITER_FPS_30                          = 0x0000001e,
        PS_FRAMERATE_LIMITER_FPS_40                          = 0x00000028,
        PS_FRAMERATE_LIMITER_FPSMASK                         = 0x000000ff,
        PS_FRAMERATE_LIMITER_NO_ALIGN                        = 0x00004000,
        PS_FRAMERATE_LIMITER_BB_QM                           = 0x00008000,
        PS_FRAMERATE_LIMITER_LOW_LATENCY_AUTO                = 0x00010000,
        PS_FRAMERATE_LIMITER_LOWER_FPS_TO_ALIGN              = 0x00020000,
        PS_FRAMERATE_LIMITER_FORCE_VSYNC_OFF                 = 0x00040000,
        PS_FRAMERATE_LIMITER_GPS_WEB                         = 0x00080000,
        PS_FRAMERATE_LIMITER_LOW_LATENCY_LOG                 = 0x00100000,
        PS_FRAMERATE_LIMITER_DISALLOWED                      = 0x00200000,
        PS_FRAMERATE_LIMITER_USE_CPU_WAIT                    = 0x00400000,
        PS_FRAMERATE_LIMITER_NO_LAG_OFFSET                   = 0x00800000,
        PS_FRAMERATE_LIMITER_ACCURATE                        = 0x10000000,
        PS_FRAMERATE_LIMITER_ALLOW_WINDOWED                  = 0x20000000,
        PS_FRAMERATE_LIMITER_FORCEON                         = 0x40000000,
        PS_FRAMERATE_LIMITER_ENABLED                         = 0x80000000,
        PS_FRAMERATE_LIMITER_OPENGL_REMOTE_DESKTOP           = 0xe000003c,
        PS_FRAMERATE_LIMITER_MASK                            = 0xf0ffc0ff,
        PS_FRAMERATE_LIMITER_NUM_VALUES = 21,
        PS_FRAMERATE_LIMITER_DEFAULT = PS_FRAMERATE_LIMITER_DISABLED
    };
    
    enum EValues_PS_FRAMERATE_LIMITER_2_CONTROL {
        PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE              = 0x00000000,
        PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_3D              = 0x00000001,
        PS_FRAMERATE_LIMITER_2_CONTROL_AVOID_NOOP            = 0x00000002,
        PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE_PRESENT_3D   = 0x00000008,
        PS_FRAMERATE_LIMITER_2_CONTROL_ALLOW_ALL_MAXWELL     = 0x00000010,
        PS_FRAMERATE_LIMITER_2_CONTROL_ALLOW_ALL             = 0x00000020,
        PS_FRAMERATE_LIMITER_2_CONTROL_FORCE_OFF             = 0x00000040,
        PS_FRAMERATE_LIMITER_2_CONTROL_ENABLE_VCE            = 0x00000080,
        PS_FRAMERATE_LIMITER_2_CONTROL_DEFAULT_FOR_GM10X     = 0x00000011,
        PS_FRAMERATE_LIMITER_2_CONTROL_NUM_VALUES = 9,
        PS_FRAMERATE_LIMITER_2_CONTROL_DEFAULT = 0x00000088
    };
     
    Last edited: Feb 24, 2020
    aufkrawall2, BlindBison and RodroG like this.
  17. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Thank you very much for you detailed answer @Orbmu2k . Something in my mind made me think that no one better than you to clarify the issue. :)

    Undestood, I think I can take this as a good practical starting point to perform my upcoming comparative analysis.

    However, and according to what you explain about the applicable flags that currently affect V1 or V2, there may be some of them that you can recommend for my particular analysis (?). The following would be the general scenario / structure of the analysis that I want to perform:
    • G-Sync ON + NV V-Sync ON w / Nvidia's FPS limiter (V1 / V2 / V3) (per each game benchmark: 2 DX11 titles, 2 DX12 titles and 1 Vulkan)
    • "Prerendered Frames": Default (let the app/engine decide)
    • "Ultra Low Latency" (ULL) mode: Off (disabled)
    That said, on V1 and V2, I think it should be enough to go with this in that context:

    Do you agree? Or do you suggest to use any particular flag(s) for V1 and/or V2? (I mean like "PS_FRAMERATE_LIMITER_ALLOW_WINDOWED" for V1, for example...)

    Again, a big big thank you sir!
     
    Last edited: Feb 25, 2020
    BlindBison likes this.
  18. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    4,361
    Likes Received:
    1,821
    GPU:
    7800 XT Hellhound
    I suggest to test with ULL set to ultra (perhaps even when RTSS is tested), as it hasn't caused any issues in any of my DX11/9 titles, hardly costs performance, decreases latency by a lot and even improves frame time variance.
    If DX12/Vulkan games have an option to decrease prerender (e.g. Strange Brigade), I'd set that too.
     
    RodroG likes this.
  19. RodroG

    RodroG Active Member

    Messages:
    59
    Likes Received:
    70
    GPU:
    RTX 3080 / 10GB
    Thanks for suggesting it. Not for current upcoming analysis, but I'll consider to test ULL mode in future benchmarkings, as it seems interesting to show its performance results in terms of raw performance, frametime consistency and approximate input lag.

    In fact, currently, any of you can also suggest different types of analysis or benchmarks that you would like to be carried out by me or some of my partners, leaving your suggestion in this thread of the subreddit r/allbenchmarks.
     
    Last edited: Feb 25, 2020
  20. Orbmu2k

    Orbmu2k Member Guru

    Messages:
    116
    Likes Received:
    21
    GPU:
    RTX 4090
    sure, leave it as it is. i mean if you claim to use v1 or v2 people will refer to the selection and common flags inspector uses.

    i just wanted to point out, that there is more behind this limiter than just 2 versions.

    well feel free to analyse each flag for its own impact and get a scientific result which flags should be used or maybe should not. but i dont think this is needed anymore as v3 seems to be the best choice overall anyway atm and ULL has much more impact on inputlag than any of those flags.
     
    RodroG likes this.

Share This Page