The truth about PRE-RENDERING 0?

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

  1. RealNC

    RealNC Ancient Guru

    Messages:
    3,318
    Likes Received:
    1,515
    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.
  2. fry178

    fry178 Ancient Guru

    Messages:
    1,688
    Likes Received:
    247
    GPU:
    2080S WaterForceWB
    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
  3. RealNC

    RealNC Ancient Guru

    Messages:
    3,318
    Likes Received:
    1,515
    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
  4. dezo

    dezo Active Member

    Messages:
    55
    Likes Received:
    23
    GPU:
    RTX 2080s
    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.
     

  5. fry178

    fry178 Ancient Guru

    Messages:
    1,688
    Likes Received:
    247
    GPU:
    2080S WaterForceWB
    @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..
     
  6. dezo

    dezo Active Member

    Messages:
    55
    Likes Received:
    23
    GPU:
    RTX 2080s
    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.
     
  7. RealNC

    RealNC Ancient Guru

    Messages:
    3,318
    Likes Received:
    1,515
    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.
     
  8. fry178

    fry178 Ancient Guru

    Messages:
    1,688
    Likes Received:
    247
    GPU:
    2080S WaterForceWB
    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.
     
  9. 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.
     
  10. RealNC

    RealNC Ancient Guru

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

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

  11. janos666

    janos666 Master Guru

    Messages:
    995
    Likes Received:
    159
    GPU:
    MSI RTX3080 10Gb
    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
  12. Slinkyminx

    Slinkyminx Master Guru

    Messages:
    209
    Likes Received:
    75
    GPU:
    GTX 1060
    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.
  13. fry178

    fry178 Ancient Guru

    Messages:
    1,688
    Likes Received:
    247
    GPU:
    2080S WaterForceWB
    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..
     
  14. Ancymon

    Ancymon Active Member

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

    fry178 Ancient Guru

    Messages:
    1,688
    Likes Received:
    247
    GPU:
    2080S WaterForceWB
    @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

  16. RealNC

    RealNC Ancient Guru

    Messages:
    3,318
    Likes Received:
    1,515
    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 :)
     
  17. fry178

    fry178 Ancient Guru

    Messages:
    1,688
    Likes Received:
    247
    GPU:
    2080S WaterForceWB
    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
  18. AsiJu

    AsiJu Ancient Guru

    Messages:
    6,987
    Likes Received:
    2,004
    GPU:
    MSI RTX 2070 Armor
    Question: if I use a frame rate limiter with vsync and cap to refresh rate, that should afaik keep back buffers empty, does amount of pre-rendered frames make a difference to input lag anymore?

    I usually set cap + vsync + 1 frame pre-render but is the last step actually redundant?
     
  19. Xul Aethyr

    Xul Aethyr Active Member

    Messages:
    58
    Likes Received:
    7
    GPU:
    1080TI MSI Gaming X 2ghz
    Yes it does
     
  20. RealNC

    RealNC Ancient Guru

    Messages:
    3,318
    Likes Received:
    1,515
    GPU:
    EVGA GTX 980 Ti FTW
    You need to cap slightly below the refresh rate. And the refresh rate, in the majority of cases, is not what you think it is. See:

    https://forums.guru3d.com/threads/the-truth-about-pre-rendering-0.365860/page-12#post-5380262

    The max pre-rendered frames (MPRF) setting has an effect when the frame cap is not reached. So it's not redundant. Basically, when your FPS does not fall below the cap value, input lag is AS IF you were using an MPRF setting of 0 (which isn't possible, but since buffers stay empty, it's AS IF it was set to 0.) When your FPS falls below the cap value, then MPRF comes into effect.

    However, you can run into issues where frame rate gets halved if you set MPRF to 1 and the frame rate falls below the cap. This can result in some really bad stutter, because frame interval times will fluctuate a lot when this happens. This depends on each game. If you see stutter with MPRF 1, then try setting it to 2.
     
    Last edited: Mar 20, 2018

Share This Page