RTSS frame limiter can cause negative mouse acceleration?

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by Malvaroth, Jun 16, 2019.

  1. Malvaroth

    Malvaroth Guest

    Hi everyone!


    The backstory:

    I recently upgraded to a 120 Hz G-Sync monitor and set it up following the advice found in Blur Busters' G-Sync 101 guide.
    Their tests state that one should avoid hitting the monitor's maximum refresh rate, as this will cause V-Sync levels of input lag. In order to achieve this, in-game limiters are generally preferrable, since they (mostly) cause 0 additional input lag.
    However, in-game limiters are not always available, and not always very precise or reliable (they often allow higher fps variances, spikes if you will, which might reach the monitor max after all). In order to take care of these cases, they recommend using an external frame limiter.

    This is where RTSS comes into play as a backup/alternative, because compared to other external methods of limiting fps, it apparently causes the least amount of input lag. They state one should set it to a minimum of 2 (recommended 3) fps below the monitor's maximum refresh rate, which I have.
    For most games this seems to work great, however I've come across situations now where things aren't working as expected. I've only had the new monitor (and gpu) for about 2 weeks now (tried a dozen games or so at most), so there might be many more occurances of this, yet to be found.


    TL;DR The problem:

    In some games (the ones I've found so far are CoD-BO4 and Sea of Thieves), if at any point RTSS's frame limiter kicks in, it causes negative mouse acceleration.


    My observations:
    • it doesn't matter if you have G-Sync enabled or disabled
    • it doesn't matter if you have NVIDIA control panel V-Sync enabled or disabled (read the Blur Busters guide if you don't understand why this is needed)
    • it doesn't matter if the RTSS frame limiter is set below or above the monitor's maximum refresh rate, only that it becomes active
    • it does matter what your mouse polling rate is set to, at 125 Hz it's barely noticeable, at 1000 Hz it's atrocious and unplayable if you require any kind of precision (I've tried several mice to be sure)

    Please note:

    I'm not by any means disregarding the possibility that I've made a mistake somewhere and something entirely different is causing the issue. While I am tech savvy, there is always someting one doesn't know, and perhaps I'm drawing the wrong conclusion here. However, right now it seems that the problem lies with RTSS.
    I am also aware that there are workarounds available here, the ones I can think of are:
    • lowering mouse polling rate as far as possible (only reduces the severity of the problem and creates different disadvantages instead)
    • turning off RTSS frame limiter for the affected games, manually or by using profiles (results in severe input lag in certain scenarios)
    • using a different external frame limiter, such as NVIDIA Inspector (results in higher input lag than necessary)
    • lowering in-game frame limiters (where available) to the point where they 100% won't reach the monitor's max (Black Ops 4's limiter seems especially weird here, I can lower it all the way to 112 fps and the game will still run at 120 most of the time, but once I reach a limit of 111 fps it drops down to 105-107 and doesn't seem to even reach 110), this is probably the best option right now, but lowering these too far (as would be required in BO4) results in higher frame times as well, which again you don't want

    Conclusion:

    It seems like a bug to me (at least I really hope it is, a fix would be wonderful). Maybe it isn't and can't be avoided, but I wasn't able to find anything using Google or the forum search, so here we are. I'm curious what you guys can say about it.
     
  2. dimonoid

    dimonoid Guest

    Messages:
    10
    Likes Received:
    1
    GPU:
    gtx 1070 mobile
    I have 1000hz mouse, and everything works just fine. Please try with another mouse. Also RTSS typically becomes active at least several times per second, so you wouldn't be able to tell the exact moment. Try using frametime graph from afterburner to understand better what is happening in your case.
     
  3. Malvaroth

    Malvaroth Guest

    I have tried 3 different mice, 2 Logitech and one Razer, one of which is brand new.
    As I mentioned, most games work fine, which ones are you referring to?
     
  4. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,194
    Likes Received:
    6,865
    Sure it is a bug. Just use something else please.
     

  5. Malvaroth

    Malvaroth Guest

    Wouldn't it be interesting to find out what the bug is? Aside from the obvious benefit of possibly being able to fix it outright at that point, maybe others with the same issue can benefit from our findings?
    I mentioned the workarounds that I can think of, which I indeed will use until a better option presents itself, that doesn't mean there's no point in digging, right?
     
  6. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,194
    Likes Received:
    6,865
    It is not interesting for me to waste life on searching for endless bugs in users logic. Application is free, if you can use it - fine. If you cannot and believe that RTSS is broken/bugged - just use something else. No need to expect me to debate about it or fix your PC issues, I have real life and more important things to do, sorry.
     
  7. Malvaroth

    Malvaroth Guest

    I can clearly tell it only happens while RTSS is limiting frames by simply changing the values and turning other features on/off in a manner where only one of them is currently active.
    I've never done what you suggest, I'll look into how to do that, thanks.
     
  8. Malvaroth

    Malvaroth Guest

    Wow, sorry, not sure how you got the impression I was asking this of you, personally... I am interested in comparing findings with the community, if you are too busy to participate, that is no problem at all. If we end up finding something you can later use, great, if not, that's fine as well.

    Edit: This was not meant as a "your program is broken, fix it" kind of post, I appreciate the time and effort that goes into making a program, and hereby thank you for creating and supplying it to me, the user. It is my and many others first choice to do what I'm trying to do, because it's great at it!
    I am, partly for this very reason, interested in finding a solution. Any suggestions are welcome, help is appreciated, nothing is required. Sorry if I came across in a demanding way.
     
    Last edited by a moderator: Jun 16, 2019
  9. AsiJu

    AsiJu Ancient Guru

    Messages:
    8,937
    Likes Received:
    3,465
    GPU:
    KFA2 4070Ti EXG.v2
    How exactly did you determine you get negative mouse acceleration in particular? Meaning your mouse movement does not move the cursor / camera as much as it should?

    Does the framerate also dip when that happens or anything?

    The frametime graph would be useful yes. Also try shutting down any unnecessary processes and bg programs, including Logitech or Razer software.

    I have Logitech G Pro (1000 Hz) and have never experienced anything such either. Not with my previous SteelSeries Rival 300 and 100 either.
    Also I'm pretty certain it's not RTSS but rather some combination of software used etc.

    If lowering polling rate seems to alleviate the issue then there may be some underlying problem with USB (OS / driver / mobo / port...)
     
    Last edited: Jun 24, 2019
    Andy_K, Smough and dimonoid like this.
  10. dimonoid

    dimonoid Guest

    Messages:
    10
    Likes Received:
    1
    GPU:
    gtx 1070 mobile
    Please make sure that you are not using several framerate limiters simultaneously. And please be careful with the Nvidia inspector, it typically applies the changes only after a reboot(maybe not always, but some of the flags actually require it). Use ddu if necessary to make sure that the Nvidia inspector is reset to defaults for sure.
     

  11. Smough

    Smough Master Guru

    Messages:
    984
    Likes Received:
    303
    GPU:
    GTX 1660
    I think the best way to use G-Sync is to disable any form of V-sync, keep G-Sync to global and use either in-game frame rate limiters or RTSS to set a custom limit lower than the monitor refresh rate. For example, if I had a 144 Hz screen, I'd probably limit my games to 120-135 fps, depends on how many fps my GPU could hold at a certain game and obviously trying to keep the frames under 144. Or I could forget any limiters and let the variable refresh smooth out the games, if I am not mistaken, that's what G-Sync and FreeSync to some degree, are for.
     
  12. Malvaroth

    Malvaroth Guest

    Hey guys, thanks for the replies.

    I put my left hand on the table against the mouse to give it a fixed stopping point, move the mouse away in a fast motion, then slowly move it back to the stopping point, repeat. If you have acceleration your cursor/crosshair will wander further and further away from your on-screen starting point, with negative acceleration the same in the opposite direction. If the movement isn't too fast for the sensor and the system performance doesn't drop during your movement (to answer your second question, no it doesn't), this is very reliable. At some point it becomes hard to tell because the method is only as precise as your movements are, but usually you can clearly tell (what I mention in my first post is several on-screen centimetres of displacement with every iteration, in fact it was so obvious at 1000hz that just doing some muscle-memory twitch-turns I clearly noticed turning about 30% less than I should).

    I won't have time to do more testing until in about a week, but I'll make sure to post more info once I do.

    Of course, I have no way of knowing which process is actually responsible (and it often is as you say, a conflict or incompatibility between several "participants"), all I can tell is that it only happens when RTSS is limiting frames in those specific few games.

    Possible, but seems odd that it would only affect a select few games out of many.


    Yep, I made sure of that.


    You're close, yeah. According to my research you can leave limiters out of the equation if your system won't reach your max refresh rate. V-sync should be disabled in games but globally enabled in NVidia control panel, because "the G-Sync module relies on v-sync On to compensate for frametime variances and avoid tearing at all times" (quote from Blur Busters' G-Sync 101 guide, where they explain this in much more detail, if you're interested).


    I'll update once I've gotten around to testing, probably next weekend, thanks all.
     
  13. MrBonk

    MrBonk Guest

    Messages:
    3,385
    Likes Received:
    283
    GPU:
    Gigabyte 3080 Ti
    Is it possible this is a display issue? Do you have any other Freesync/Gsync monitors to test on? Or another monitor at all? You can still test on a non FS/GS monitor with framerate caps and vsync disabled.

    Is there even an objective repeatable test that can actually measure negative acceleration is actually happening?

    "it doesn't matter if the RTSS frame limiter is set below or above the monitor's maximum refresh rate, only that it becomes active"
    Becomes active? It should always be active if you have the limiter engaged. Otherwise it wouldn't be doing what it is supposed to.
     
  14. AsiJu

    AsiJu Ancient Guru

    Messages:
    8,937
    Likes Received:
    3,465
    GPU:
    KFA2 4070Ti EXG.v2
    Ofc one thing to try if you haven't: try using a different version of RTSS.

    Also disable USB power saving in Windows Power Plan advanced settings just in case.

    Full system specs would be useful too I think.

    One more thing is make sure you've set any ingame vsync off, especially if on in NVCPL globally.
     
  15. dimonoid

    dimonoid Guest

    Messages:
    10
    Likes Received:
    1
    GPU:
    gtx 1070 mobile

  16. Malvaroth

    Malvaroth Guest

    Hey guys, thanks for more input.
    • will test if USB selective suspension vs. always on makes a difference
    • ingame vsync is off in all games
    • haven't used windows mouse acceleration in 20 years
    System specs:
    CPU: i7 6850k @ 3.2 GHz to 4 GHz
    RAM: 4x8 GB HyperX Predator quad channel DDR4 @ 3000 MHz
    GPU: ASUS ROG STRIX RTX 2080 Ti 11GB OC
    MB: ASUS ROG STRIX X99 Gaming
    SSD: Samsung 850 Evo 1TB
    PSU: Corsair RM750i
    Monitor: LG 34GK950G
    OS: Windows 10 Pro

    Bios, chipset, drivers, etc. everything updated when I started using new GPU & monitor. Anything else you need?

    I can test another monitor, 60hz without any sync, that's all I have. It's not unthinkable that there is an incompatibility, but the monitor seems to work as intended with all the other games.

    See the first part of my last post.

    You misunderstand. When I say becomes active I mean it is actively preventing excessive frames being produced, which it does not when you don't reach the threshhold you've set in RTSS, right? So if you set RTSS limiter to say 300 and you only reach 200 due to hardware performance, it doesn't limit your fps. Similarly if you limit it to 100 ingame and to 200 in RTSS, RTSS also doesn't limit because the game prevents reaching the threshhold. In both these cases the negative acceleration doesn't occur.

    Testing ETA still this upcoming weekend :)
     
  17. AsiJu

    AsiJu Ancient Guru

    Messages:
    8,937
    Likes Received:
    3,465
    GPU:
    KFA2 4070Ti EXG.v2
    Yep, Vsync On only prevents you from going above the max refresh rate but Gsync / Freesync work without it just fine, as long as you are at or below max refresh and within monitor's VRR range.

    Ofc a framerate cap slightly below max refresh rate is preferred.
    Reaching the max refresh with Vsync On will cause input lag, amount of which depends on refresh rate / framerate (=frametime) and number of pre-rendered frames used.

    Naturally at high refresh rates this extra lag is quite small though, for example at 144 Hz = 1000 ms / 144 = 6,94 ms (times the number of prerendered frames).

    As far as I know, someone correct me if the above isn't right.

    Edit: @Malvaroth
    are you by any chance using W10 build 1903?

    It seems to suffer from a latency spike issue affecting most if not all systems.
    Possibly related.
     
    Last edited: Jul 4, 2019

Share This Page