Does Nvidia Reflex+G-Sync use the Nvidia Driver FPS limiter or the game's own internal FPS limiter?

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by BlindBison, Apr 8, 2021.

  1. BlindBison

    BlindBison Master Guru

    Messages:
    587
    Likes Received:
    103
    GPU:
    RTX 2080 Super
    For example, in Overwatch that game has its own internal FPS limiter which has been shown by channel's such as BattleNonSense to be a "proper" in-engine FPS limiter which reduces input latency VS something like an external limiter such as RTSS or Nvidia's driver level limiter. They also had an internal setting called "Reduce Buffering" before "Nvidia Reflex" was added to the game which is still present there. BattleNonSense did put out a new video which seemed to show that Reflex is the better option for reducing latency, but there seems to one caveat which would be quite meaningful which I don't recall him addressing which has to do with G-Sync and Nvidia enforcing an FPS limit in conjunction with ULLM mode or Reflex.

    So, I have a 144 Hz panel and in Overwatch I cap the FPS in-engine/internally to 140 for lowest latency (as opposed to using an external limiter like Nvidia's). Now, if I turn Nvidia Reflex mode to ON in the game's settings this caps the game to 138 fps internally (to avoid hitting the g-sync ceiling presumably). The thing is though, I do NOT want to use the Nvidia driver level limiter -- I want to use the game's own internal limiter, but I'm not certain which its using. I would presume its using the Driver level limiter as that's what happens with the ULLM mode + G-Sync and Overwatch ignores my own manually placed setting at 140 FPS limit.

    Does Nvidia Reflex + G-Sync use the game's own limiter or Nvidia's driver level one? My bet would be its their own driver limiter one, but there should be some way to manually disable this automatically enforced limit because the user might prefer to cap the game's framerate either with a game's own internal limiter or with RTSS. You can kind of get around this by capping with the game's internal limiter to something like ~3 frames beneath where Nvidia's is capping, but then you're just wasting overhead and it seems like bad practice to have two fps limiters ON for a game simultaneously.

    I had made a thread on this in the past here: https://forums.guru3d.com/threads/a...-to-remove-the-auto-fps-cap-from-ullm.432794/
    And I was informed that this behavior is "intended" and unlikely to change, but frankly that is stupid to be blunt. If a player's aim is competitive E-Sports and they want to achieve the lowest latency possible then there needs to be a way to disable this auto-fps limit so that users can use the lower latency further with in-engine limiters. I would personally also rather use RTSS over the Driver level limiter, but Nvidia doesn't let me choose.

    One solution would simply be to respect the user's manually set driver level FPS limit in the control panel -- so, if the game would ordinarily cap the FPS to 138 on a 144 Hz G-Sync panel "automatically" with the driver level limiter when ULLM or Reflex is ON, if the user manually goes into that game's profile and sets the limit either to a different value (like 140 instead of 138) or if a user turns the limiter off it should be respected. As it is, if you're reaching the G-Sync ceiling, you're probably better off with Reflex OFF then just using the in-game limiter set to "Refresh -3" or "Refresh-4" as per the blurbuster's tests and perhaps Reduce Buffering ON.
     
  2. BlindBison

    BlindBison Master Guru

    Messages:
    587
    Likes Received:
    103
    GPU:
    RTX 2080 Super
    @RealNC Sorry to pester you, but are you aware of any way to disable this "auto-capping" behavior? No worries if not of course, you've just been a wealth of knowledge historically for RTSS so I wanted to tag you here.

    The goal would be to use either RTSS or an in-engine fps limiter instead of the driver level Nvidia limiter to stay within the G-Sync window/avoid the G-Sync ceiling, but currently Nvidia seems to automatically enable their own driver level limiter if ULLM/Reflex are enabled while you use a G-Sync panel.
     
  3. RealNC

    RealNC Ancient Guru

    Messages:
    3,309
    Likes Received:
    1,509
    GPU:
    EVGA GTX 980 Ti FTW
    Can't test this right now, but try setting the nvidia limiter to its maximum value. That way, the limiter will not have a chance to actually engage, since that FPS target cannot be reached, and therefore you can use another limiter instead.

    Edit:
    OK, never mind. It doesn't work. I just booted Windows to test this, and it doesn't work. Even if I set nvidia's limiter to 1000FPS, it still caps to 138FPS at 144Hz.
     
    Last edited: Apr 8, 2021
    BlindBison likes this.
  4. BlindBison

    BlindBison Master Guru

    Messages:
    587
    Likes Received:
    103
    GPU:
    RTX 2080 Super
    Correct, I tried that, but it does not override the auto-capping behavior so the only way is to cap maybe 3 or 4 frames beneath where the Nvidia limiter is auto-capping, but that seems pretty not great to me.

    Going off of the blur buster's tests and the BattleNonSense tests you want to cap 3 or 4 frames beneath refresh (3 being BB's recommendation and 4 being BNS recommendation -- I do 4 to be on the safe side), but you'd have to cap to something like 135 or 134 then on a 144 Hz screen like mine since Nvidia auto-caps to 138 with their driver limiter. So, there "is" a way around it in a sense, but really I think the auto-capping behavior should just respect your manually set value so that power users can use a different limiter.
     

  5. hearnia_2K

    hearnia_2K Active Member

    Messages:
    79
    Likes Received:
    2
    GPU:
    PNY RTX 2080 Super
    Why not accept the 138 limit from the driver, and set a new, lower limit in the game, ie 135? I realize it's not ideal, but it does mean ou're now relying on the in-game limit instead.
     
  6. BlindBison

    BlindBison Master Guru

    Messages:
    587
    Likes Received:
    103
    GPU:
    RTX 2080 Super
    You certainly can do that, but it's not ideal/there "should" be a way for power users to disable the auto-capping behavior.

    I don't like the idea of having two fps limiters running anywhere close to each other at the same time and though small/perhaps insignificant even, i'd rather not waste the overhead of capping like 4 frames beneath their auto-cap which is already a bit overly aggressive going off of the blurbuster's and battlenonsense tests.

    I get why they did it/it's for "normal" users who don't know about the fps limit and g-sync ceiling stuff, but the fact that you can manually change the driver limiter value and they actively ignore your setting/that there's no way to turn this off is really irritating.
     

Share This Page