The truth about PRE-RENDERING 0?

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by Tastic, Jul 16, 2012.

  1. Mordecai Walfish

    Mordecai Walfish New Member

    Messages:
    1
    Likes Received:
    0
    GPU:
    Nvidia GTX 980ti OC
    I've been using this trick for over a half a decade now, and there have been multiple numbers mentioned and methods for achieving this goal.

    One thing I would like to get some feedback on, is this method that seems particularly tailored for Source engine games: http://steamcommunity.com/sharedfiles/filedetails/?id=129836524

    It lists approximate times needed to be taken into account for the amount of time required for input polling in the engine at a given refresh/frame rate, and this being a useful calculation when capping fps with vsync on. For instance, it lists ~7ms as the necessary input polling time at 120 fps/hz, and ~19 ms at 60 fps/hz. it then recommends a specific framerate to cap the game to internally, or by rounding to the nearest whole number for external framerate cappers, as they were not able to be as granular as the more recent version/beta of RTSS, back when this guide was written.

    Any of you Gurus have some input on this, or think it is relevant/useful compared to just capping at .007 below refresh as is suggested here?

    Is what's suggested in this guide the best method for source games since more information is generally known about that engine given it's age/lineage, whereas we may not have as accurate information about the required input polling time for specific fps/hz rates in newer/different engines, thus making a general rule of .007 below refresh rate the best known option for other/newer engines?

    There is some very solid information in this thread for people interested in this method. I'm glad I stumbled upon it, and look forward to seeing the evolution of things like this, whether implemented directly in RTSS or into future game engines by developers.

    Thanks!

    EDIT: In the past, I've used this frame cap/vsync method along with ULMB on my monitor, to get maximum smoothness with minimum possible input lag in various games. Is this a good practice, or is there some reason I'm not aware of that this should not be used in conjunction with ULMB? In some games (like the indie game Ziggurat), it has been necessary to use methods like this to fix inherent stuttering in the engine when running at high refresh rates/fps.
     
    Last edited: Oct 23, 2017
  2. RealNC

    RealNC Ancient Guru

    Messages:
    3,114
    Likes Received:
    1,339
    GPU:
    EVGA GTX 980 Ti FTW
    It's especially useful with ULMB, actually.

    As for your other questions, I don't know. I somehow doubt you get get <0.01FPS precision with in-game limiters though. I would really only trust RTSS here. I was never able to get a stable tear line with the in-game limiters I tried (I don't claim to have tested every in-game limiter out there though, mind you.) It's how you can tell whether a frame limiter is accurate enough or not; you disable vsync and cap to exactly your refresh rate. If the tear line doesn't move up/down at random, but is relatively stable at one position on the screen, you've got an accurate frame limiter. If you then reduce the cap by ~0.008FPS, you should see the tear line moving downwards very slowly. This (the downwards moving tear line) is actually what gives you the latency reduction once you activate vsync. If you can't achieve that effect with a limiter, it's not going to work well in preventing vsync backpressure (downwards moving tear line = no vsync backpressure and thus less input lag, upwards moving tear line = vsync bakcpressure thus more input lag.)

    If you can get the in-game limiter to produce this effect though, then you can use it.

    Note: while trying to test this and produce this effect, it's important to note what you should not be moving around in the game; loading assets and such will interfere since even the slightest FPS fluctuation will move the tear line around.
     
    Last edited: Oct 23, 2017
  3. VAlbomb

    VAlbomb Member Guru

    Messages:
    146
    Likes Received:
    4
    GPU:
    Nvidia G1 Gaming GTX 970
    For 30FPS games in 60Hz would be 29.993 cap work(monitor runs at 60.00041Hz) or is there something else that needs to be done?
     
  4. RealNC

    RealNC Ancient Guru

    Messages:
    3,114
    Likes Received:
    1,339
    GPU:
    EVGA GTX 980 Ti FTW
    Yes, that would work just fine with 1/2 vsync (only settable with Inspector.) With normal vsync it's not useful.

    Note that there's still a bug in the nvidia drivers that sometimes requires you to reboot to make 1/2 vsync work after you enable it in Inspector.
     
    VAlbomb likes this.

  5. fry178

    fry178 Maha Guru

    Messages:
    1,256
    Likes Received:
    148
    GPU:
    MSI 1080 X@2GHz
    quoting the latest Nv panel: (vsync) limits the gpu render rate to match the max refresh rate of the display...
    how does that NOT limit the fps to 60 at the same time (as the card doesnt render ahead)?

    v7.0.0 doesnt seem to work with 59xx, but 59.xx
    i changed it to 5994/1000 (ini), and once i ran RTSS, it showed 5994 as limit in the small box (vs 59), until i changed the ini to 59.94 and now it shows 59.
    otherwise, how would it display if i ran 120Hz, as that would be 120xx, but the box only has 4 digits.
    or did i miss something


    was anyone able to get RTSS to work with Siege?
    if i run it (even in stealth/low app mode), i cant get the uplay overlay to show/work.

    besides that, i regularly get tearing when not using vsyn, no matter if fast/adaptive/off.
    the line wasnt moving, so i know the 60/75hz cap was working..
     
    Last edited: Nov 22, 2017
  6. RealNC

    RealNC Ancient Guru

    Messages:
    3,114
    Likes Received:
    1,339
    GPU:
    EVGA GTX 980 Ti FTW
    With vsync, the game is only blocked from rendering more frames once all frame buffers have been filled. So even though vsync does limit the game's render rate, it only does so at a point where it's too late because it doesn't actually care about frame rates. It doesn't look at the frame times. It only looks at the vblank signal of the graphics card (the vblank signal is the period between monitor scanouts, where switching to a new frame is safe and won't tear.) So really, the frame limiting aspect of vsync is a secondary effect, not a primary function.

    An analogy for it is a highway that has a bottleneck. If you only let 1 car per second though the bottleneck but don't try to regulate the rate at which cars arrive at the bottleneck, you get cars that need to wait behind that bottleneck for a long time. That's input lag. If on the other hand you regulate the rate the cars arrive at the bottleneck by limiting their speed so that they arrive at the bottleneck at exactly the rate of 1 car per second, none of the cars will be stuck waiting behind the bottleneck. That is reduced input lag.

    This is not a perfect analogy though. A perfect analogy would be if you produce the cars yourself. If you produce cars too fast, they need to wait at the bottleneck and thus they get older. Older = more time they've been existing = more lag. If you produce cars at the rate of 1 car per second though, then the cars are younger when they arrive at the bottleneck. Younger = less time they've been existing = less lag. In both cases, the rate of the cars that go through the bottleneck is the same: 1 car per second. Same with vsync. In both cases, you get 60FPS. But if you limit the rate at which the frames are produced, they don't pile up at the vsync bottleneck. They still make it through at the same rate of 60 frames per second, but since they don't pile up, they don't get old, and that means each frame is younger and thus closer to the time player input was captured from mouse/keyboard/controller.

    And that's what a frame limiter does. If a frame is produced faster than the target time, the game is actively blocked from rendering any more frames only for them to be put in waiting queue that increases input lag.
     
    Last edited: Nov 22, 2017
  7. dezo

    dezo Member

    Messages:
    21
    Likes Received:
    3
    GPU:
    GTX 2080
    RTSS 7.0.0 works just fine with the 5994 displayed and 100 as denominator. I think Unwinder just didn't bother with the decimal point. The denominator thing is for advanced users anyway, but it really works. Input lag with VSync is almost non-existent if you use the right value - like RealNC already described elsewhere. At least on my end. You can check it in-game anytime in OSD from RTSS and you will see, that it is indeed limited to the selected value.
     
  8. fry178

    fry178 Maha Guru

    Messages:
    1,256
    Likes Received:
    148
    GPU:
    MSI 1080 X@2GHz
    @RealNC
    K, i wasnt separating the two and only thinking about fps caps without the input lag, which im not really worried about.

    My problem right now is that the 1060 cant keep 60 steadily (thanks ubi),
    And i wanted to run vsync off, but no matter what i do, i regularly get screen tearing, no matter what settings i tried (off/fast, different caps etc).
    Will be a while before i can get a 1080 as my cash is in 2nd build im trying to sell, so i guess i will live with the occasional studder (rather than tearing) till then.

    @dezo
    when rtss was showing 5994, it didn't cap at 59/60, as i forgot to turn off vsync and saw fps counter showing 75.

    After i changed nbrs in ini to 59.94, it now shows 59 in rtss...

    Still cant use it with Siege, the only game i would need it for..
     
  9. dezo

    dezo Member

    Messages:
    21
    Likes Received:
    3
    GPU:
    GTX 2080
    Maybe wrong syntax or wrong profile then? The Framerate section for 59.94 limit in your profile file (Global or whatever game *.exe name) should look like this:
    [Framerate]
    Limit=5994
    LimitDenominator=100

    IMHO if you type 59.94 in there, RTSS will use only the integer part 59 and ignore the .94 => that means dropped frame every 1 sec. Btw you will always get tearing without VSync, there is no way around it (except Gsync in its operating range). The low input lag method requires fast enough GPU able to produce >60FPS at all times (if your monitor is 60Hz), otherwise don't bother with it.
     
  10. RealNC

    RealNC Ancient Guru

    Messages:
    3,114
    Likes Received:
    1,339
    GPU:
    EVGA GTX 980 Ti FTW
    Without vsync, you get tearing. No way around that.

    One option is to play in windowed borderless mode. The game can run without vsync, but tearing is prevented through the windows desktop's vsync. You get more input lag though.

    Another option is to try fastsync. But I'm not sure how it behaves at frame rates lower than the refresh rate.

    The only good way to get a tear-free image without vsync is a g-sync monitor.
     

  11. fry178

    fry178 Maha Guru

    Messages:
    1,256
    Likes Received:
    148
    GPU:
    MSI 1080 X@2GHz
    yeah fast wasnt doin it for me either.

    gsync out of the question right now, as i would only be interested in non-4k 32in or +39in if its UHD (both 16:9).
    i dont mind spending more to get certain stuff, but my wallet says no to another +800 besides the 1080 :(

    but at least with that i should be able to do constant 60 maybe 75, which would be fine for me.
     
  12. emka

    emka Member

    Messages:
    11
    Likes Received:
    1
    GPU:
    GainwarGTX 1060 6GB
    Is there any way I can find the real value of pre-rendered frames for a game when using Application Default ?

    Like for example, what value does CSGO use? Like I have tried 1,2,3 and neither feels like application default, which is weird.
     
  13. RealNC

    RealNC Ancient Guru

    Messages:
    3,114
    Likes Received:
    1,339
    GPU:
    EVGA GTX 980 Ti FTW
    I don't think you can.

    Also, it's doubtful that it "feels" different. That's just placebo.
     
  14. janos666

    janos666 Master Guru

    Messages:
    689
    Likes Received:
    54
    GPU:
    MSI GTX1070 SH EK X 8Gb
    Quiet good, actually, in my opinion. At least for the most common display type (sample-and-hold LCD).

    After I switched from an impulse type 1080p60 display (Pioneer PDP) to a sample-and-hold 2160p60 display (LG OLED) and realized my GTX1070 won't give me 60fps >>50% of the time (well, unless I play old games or crash the settings to Low-ish) I started using FastSync. When the framerate randomly fluctuates below a fixed refreshrate, the game will never be really smooth anyway but I find the the sync-related latency to be relatively low and stable in any case (even when framerate >= refreshrate). I don't see it "stuttering" (well, any more than low fps would stutter in any case) when fps<=rr, Vsync would do the same occasional frame-doubling in this case (but would operate in a bigger latency range, I think). I see it stuttering in the rr=<fps<r*1.5 range (roughly) which gets better as fps rises but rr*2 is not a magic number (even rr*4 won't be "perfect", FastSync is never stutter-free). All in all, I seem to prefer the occasional stutter and less even "scene pacing" (if that's really a term for this) for the feeling of more "direct control" (mostly the lower and more even latency).

    I remember the FastSync stutter bothering me a lot more when I tested it with my old impulse type display though. But then I usually had rr<fps<2rr (2k res), not 0.5rr<fps<1.5rr (4k res), so hard to tell which one made the bigger difference (the strobing or the fps range [relative to the framerate]). I guees it's both: the FastSync stutter is more prominent on impulse-type displays and Vsync is better for fps>rr while FastSync can be just as good for fps<rr.
     
    Last edited: Dec 17, 2017
  15. Slinkyminx

    Slinkyminx Member Guru

    Messages:
    154
    Likes Received:
    60
    GPU:
    ASUS Strix Vega 64
    I've only had a brief glance so far but this is just an amazing thread..... As someone who plays 60FPS and 60hz VSYNC ON, on a large HDTV, using a controller, (very able to notice even a slight stutter) I am gradually gaining an understanding of frametimes and frame pacing and how vsync works etc and what I should be looking at if a game is NOT running silky/REAL 'butter smooth'

    Much appreciated to all the people who have put time and effort into this.

    I have spent a lot of money over the years chasing that perfect 60FPS experience (perfect for me... even more important TO ME, than input lag, is perfectly paced frames for zero (even super mild) micro stutters.

    I'm a very fussy gamer..... ;o;
     
    Probotector likes this.

  16. fry178

    fry178 Maha Guru

    Messages:
    1,256
    Likes Received:
    148
    GPU:
    MSI 1080 X@2GHz
    Little update.
    Swapped the 1060 for 1080, and added another 16gb ram.
    but also to clean install 7x64 ulti, to make use of 32gb (thanks for the cap on home pro, MS).

    Even then, Siege is still not running without stutter (60, vsync on, 59.94 ingame),
    so i tried using RTSS again, it works, but i still lose the uplay overlay (chat/invites).


    Using Nv profiler (fast sync, 58/73hz cap) works without affecting uplay (ingame sync off, 69/74hz refresh), and NO tearing whatsoever,
    but i still have fps drops sometimes.
    (what

    Would there be a difference between using 60 (8 bit color) or 75 (10 bit) when it comes to fps drops?
    or is that even relevant,a s long as i dont see tearing or stutter?

    i dont really care about input lag, and are more concerned about min/avg fps..
     
  17. Ancymon

    Ancymon Active Member

    Messages:
    64
    Likes Received:
    9
    GPU:
    GTX 1070
    Try force on "Threaded optimization" in global 3d settings profile, restart system and check...
     
  18. fry178

    fry178 Maha Guru

    Messages:
    1,256
    Likes Received:
    148
    GPU:
    MSI 1080 X@2GHz
    @janos666
    then "you" might be doing something wrong, as i've never experienced any stutter with fastsync,
    only tearing, no matter if above or below refresh.

    did you cap the fps?

    what settings are you using on the tv?

    LG provides the panels for sony, and they got lots of R&D back from them (image processing chip/software), so try game mode (lowest latency, no image processing), and check what other settings regarding refresh/motion etc you have and how they are set.

    @Slinkyminx
    just get a gsync screen and you dont have to worry about getting constant 60, nor stutter.. ;-)


    @Ancymon
    thanks, will try it tonight...
     
    Last edited: Feb 16, 2018
  19. RealNC

    RealNC Ancient Guru

    Messages:
    3,114
    Likes Received:
    1,339
    GPU:
    EVGA GTX 980 Ti FTW
    Fast sync never has tearing, but it has some stutter. That's the whole point of fast sync, actually. Since you seem to experience the exact opposite, I'd say it's you who's doing something wrong :)
     
  20. fry178

    fry178 Maha Guru

    Messages:
    1,256
    Likes Received:
    148
    GPU:
    MSI 1080 X@2GHz
    your right,
    forgot that was (on my previous win install) when i couldn't get fast sync to work properly
     
    Last edited: Feb 17, 2018

Share This Page