Page 1 of 5 1 2 3 ... LastLast
Results 1 to 10 of 50

Thread: VSync without increased latency

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Valve Developer
    Join Date
    Mar 2012
    Posts
    664

    Post VSync without increased latency

    DOTA 2 includes an experimental feature that allows you to enable vsync with minimal latency. Normally enabling vsync adds another frame of latency causing some inputs to feel delayed. With this new feature the engine will attempt to schedule simulation and rendering to coincide with the start of the new frame on your monitor. It is experimental currently and only available as a console variable. We will add it to the main UI if it is successful for enough users. It requires a PC that can maintain a framerate higher than your refresh rate (usually 60 frames per second or higher).


    To try it, enable VSync in the video options panel. Then open the console and set this variable:

    r_experimental_lag_limiter 1

    You can toggle it on & off to see how it improves your latency.

    To turn it back off use the setting:
    r_experimental_lag_limiter 0


    Please only post feedback about this feature in this thread.

  2. #2
    Basic Member
    Join Date
    Jul 2015
    Posts
    29
    I'm running D9EX on a GTX680 on Windows 10. I've been using VSync on for two reasons: I can't stand the tearing and there's a "stuttery feel" when VSync is off, I can't really explain it, but it feels less smoth for some reason.

    I have tested the experimental lag limiter and disabled VSync on the interface. My FPS is usually on the 70-100 range. Screen tearing is completely gone, which is good, and input seems to have a bit less latency than what I'm used to, so it's probably improved in that aspect as well. It still doesn't feel as smooth as it does with VSync on - I have no idea why - so I'm not yet sure I'm going to switch to it from VSync, but I'll keep testing.

    I hope this feedback is useful. Keep up the good work, let me know if you want me to test anything specific.

    Edit: alright, that feedback wasn't good. I thought that the feature would give me VSync features - namely, remove screen tearing - even with VSync off. I tested it further and realized it's supposed to be used with VSync on; guess I misread how the feature works.

    Anyway, I've tested specifically for reduced latency with VSync on and yes, latency is definetely lower. The game has no screen tearing and is smooth as butter, as it always was for me with VSync on, but also has the latency that you get with VSync off.

    In the end, it works really great, actually. I'm keeping it on.
    Last edited by lixoman100; 10-29-2015 at 07:01 PM.

  3. #3
    Basic Member
    Join Date
    Oct 2015
    Posts
    85
    How many players having a decent pc can maximize their fps over 60? Not so many

  4. #4
    Basic Member
    Join Date
    Mar 2015
    Posts
    9
    Quote Originally Posted by difangu View Post
    How many players having a decent pc can maximize their fps over 60? Not so many
    In dota? are you out of your mind? you can max this game and get over 60 on a calculator

  5. #5
    i heff 59 fps at lowest performance! biblethump

  6. #6
    Basic Member
    Join Date
    Apr 2013
    Posts
    284
    I just tested this and it doesn't work for me. I have 70-80 fps on these settings so when I turn vsync on it's constant 60fps. When I used this command the fps dropped to 50-54, it was fluctuating around that. I wrote r_experimental_lag_limiter 0 in the console and it was back to 60fps instantly. I didn't see any lag improvement, maybe the contrary because of the fps loss. So yeah...

  7. #7
    Basic Member
    Join Date
    May 2015
    Posts
    9
    Losing a small amount of FPS (compared to vsync max) would be expected I believe. In return for that you potentially have almost no extra latency.

    Normally vsync introduces input lag because even though the frame rendering (using current inputs) can finish quickly, it must be delayed until the vsync interval. From the description Valve is delaying the rendering start until the expected render time matches the remaining time till vsync, which means the time difference between when your input is sampled and shown on the screen decreases.

    If the time prediction is wrong, you'll delay a single frame, so a tiny FPS drop.

    Valve or someone more current on state of the art game engines can probably confirm/deny the above.

  8. #8
    Basic Member
    Join Date
    Apr 2013
    Posts
    284
    Quote Originally Posted by Garfff View Post
    Losing a small amount of FPS (compared to vsync max) would be expected I believe. In return for that you potentially have almost no extra latency.

    Normally vsync introduces input lag because even though the frame rendering (using current inputs) can finish quickly, it must be delayed until the vsync interval. From the description Valve is delaying the rendering start until the expected render time matches the remaining time till vsync, which means the time difference between when your input is sampled and shown on the screen decreases.

    If the time prediction is wrong, you'll delay a single frame, so a tiny FPS drop.

    Valve or someone more current on state of the art game engines can probably confirm/deny the above.
    The whole function of vsync is to synchronize the frame rate to the refresh rate of the monitor. If enabling this option makes it so the frame rate is lower than the refresh rate of the monitor then it means it breaks vsync. I also stated in my post that the lost frame rate makes the game feel actually worse than with this option off. So yeah, in my own experience, this option doesn't work.

  9. #9
    Basic Member
    Join Date
    May 2015
    Posts
    9
    Quote Originally Posted by KanGore View Post
    The whole function of vsync is to synchronize the frame rate to the refresh rate of the monitor.
    No, it's to synchronize the frame buffer flip with the monitor refresh. Those are two different things, and vsync still works whether the frame-rate (that the card could be outputting without it) is above or below the monitor refresh rate.


    If enabling this option makes it so the frame rate is lower than the refresh rate of the monitor then it means it breaks vsync.
    Not at all. You can synchronize the refreshes even if the card can't track the monitors refresh rate. It just means the same frame will be output twice. This is what already happens with every vsync implementation if the card is too slow.

    Run some game that your card can barely render at say 20-30fps and try vsync on and off. You'll see the difference in tearing but the downside is even lower fps with vsync on.

    Vsync means you do not flip the buffer while the monitor is halfway through the frame. That's all. Matching framerates is irrelevant, although a natural consequence if your card is consistently faster than the monitor.

    Mispredictions can cause this low latency vsync method to have an fps drop if the frame took much longer to render than expected, but the page flip will still be synchronous with the monitor refresh. You won't get tearing.
    Last edited by Garfff; 10-30-2015 at 04:56 AM.

  10. #10
    Basic Member
    Join Date
    Apr 2013
    Posts
    284
    Quote Originally Posted by Garfff View Post
    bla bla bla
    I quote from Nvidia: "Nothing is more distracting when gaming than frame rate stuttering and screen tearing. Stuttering occurs when frame rates fall below the VSync frame rate cap, which is typically 60 frames per second, matching the 60Hz refresh rate of most monitors and screens. When frame rates dip below the cap VSync locks the frame rate to the nearest level, such as 45 or 30 frames per second. As performance improves the frame rate returns to 60.
    In performance-intensive games this dramatic change in frame rate can occur several times per second, resulting in clearly noticeable stuttering as the frame rate jumps around, often causing eye strain and headaches."

    This is why you want constant 60fps with vsync on. Not 50-54 fps fluctuating. Look at the link: http://www.geforce.com/hardware/tech...ync/technology
    You can even see a picture there with a drawing explaining what happens and maybe you get this in your head: If you use vsync you want to have constant 60fps or don't use it.

    Even the Valve developer here says this in his post: "It requires a PC that can maintain a framerate higher than your refresh rate (usually 60 frames per second or higher)."
    Why do you think he says that? Cause 50-54 fps is ok because you say so?!?
    Last edited by KanGore; 10-30-2015 at 06:15 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •