• “Just being a mediocre driver has never been my ambition. That's not my style” ― Michael Schumacher
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Have a chance to win a copy of F1 2017 The Game (PC) by following RaceDepartment on Twitter, Facebook, Instagram, Twitch, Steam and / or YouTube.

Project : minimizing input lag

Discussion in 'Assetto Corsa' started by Jim Liak, Feb 13, 2016.

  1. Jim Liak

    Jim Liak

    Messages:
    586
    Ratings:
    +318
    This is a repost from here.

    Hi, i bought my self a new phone which can shoot videos at 100fps ( slow motion ).
    I thought it was a good opportunity to try and analyze how Assetto Corsa behaves regarding input lag.

    I did a test. I took slow motion videos for the following settings :

    1. latency = 0, fullscreen off, vsync=off ( 90 fps )
    2. latency = 0, fullscreen on, vsync=off ( 90 fps )
    3. latency = 0, fullscreen on, vsync=on ( 60 fps )
    4. latency = 0, fullscreen on, vsync=off, lock at 63fps
    5. latency = 1, fullscreen on, vsync=on ( 60 fps )
    6. latency = 1, fullscreen on, vsync=off, lock at 63fps
    7. latency = 1, fullscreen on, vsync=on NVIDIA ( 60 fps )

    Lets explain some things :

    1. My monitor is a TV, which WILL introduce lag. It was set at game mode.
    2. Latency is the known "Maximum frame latency" setting at Steam \SteamApps\common\assettocorsa\system\cfg, which is supposed to minimize input lag.
    3. I turn the wheel at my maximum speed.
    4. 7th is with vsync ON only from Nvidia control panel. In game was OFF.
    5. 90fps was what my system achieved when vsync and lock OFF
    6. Fullscreen is the "Fullscreen rendering" inside game.

    So here is the video :



    Also if someone wants to see it in his/her pc , here is the file https://drive.google.com/file/d/0B1UNl21-h5iHbFVtUE9VX2pybTQ/view?usp=sharing

    So i watched the video and counted the frames to see when the virtual wheel will move .
    Results :

    1. latency = 0, fullscreen off, vsync=off ( 90 fps ) - > 14 frames
    2. latency = 0, fullscreen on, vsync=off ( 90 fps ) -> 12 frames
    3. latency = 0, fullscreen on, vsync=on ( 60 fps ) -> 15 frames
    4. latency = 0, fullscreen on, vsync=off, lock at 63fps -> 9 frames
    5. latency = 1, fullscreen on, vsync=on ( 60 fps ) -> 18 frames
    6. latency = 1, fullscreen on, vsync=off, lock at 63fps -> 11 frames
    7. latency = 1, fullscreen on, vsync=on NVIDIA ( 60 fps ) -> 15 frames

    If i did a mistake in counting i am open to suggestions but is seems that the 4th setting is the best.(which kind of surprised me as i thought that it would be the 6th)

    Thanks.
     
    • Like Like x 3
    • Beer Beer x 1
  2. JoelGL

    JoelGL

    Messages:
    1,152
    Ratings:
    +84
    Thanks for the share. What's the basis for 63fps? Currently using 83 in-game.
     
  3. LazyBug

    LazyBug

    Messages:
    1,268
    Ratings:
    +164
    Where is this "Maximum frame latency" thing ?? i didnt see it in my Steam \SteamApps\common\assettocorsa\system\cfg :rolleyes:
    Also how about vsync=off, lock at 60fps ?? Why didnt test it ??
    Thanks
     
  4. Jim Liak

    Jim Liak

    Messages:
    586
    Ratings:
    +318
    Having vsync OFF, i have to fight with both tearing and stuttering. After excessive testing i found that this number will kill tearing and most of stuttering.

    It is a graphics.ini

    I will test also the vsync=off, lock at 60fps.
     
    • Like Like x 1
  5. LazyBug

    LazyBug

    Messages:
    1,268
    Ratings:
    +164
    So i should change this "Maximum frame latency" from 0 to 1 ??
     
  6. JoelGL

    JoelGL

    Messages:
    1,152
    Ratings:
    +84
    Just curious, what makes you want to change it to 1 if his tests shows 0 is slightly faster (well, slightly)?
     
  7. JoelGL

    JoelGL

    Messages:
    1,152
    Ratings:
    +84
    Can you try 83 as well? TIA.
     
  8. Jim Liak

    Jim Liak

    Messages:
    586
    Ratings:
    +318
    I tested with vsync off and lock off . In my system i had 90fps. I guess that it would be almost the same.
     
  9. LazyBug

    LazyBug

    Messages:
    1,268
    Ratings:
    +164
    I see the setting is "0" by default so i thought i suppose to change it to "1" for minimum input lag .. so now i should leave this setting as "0" ??
     
  10. Jim Liak

    Jim Liak

    Messages:
    586
    Ratings:
    +318
    In my tests, i saw that default 0 , gives slightly best results.
    In your system it might be otherwise. You need to test this yourself.
     
    • Like Like x 1
  11. LazyBug

    LazyBug

    Messages:
    1,268
    Ratings:
    +164
    I think i will leave it as "0" then .. dont know how to test :whistling:
     
  12. Stereo

    Stereo

    Messages:
    2,462
    Ratings:
    +1,497
    2 is best, frames latency is multiplying by framerate to produce time latency - #2 is 133ms, #4 is 143ms
     
    • Beer Beer x 1
    • Agree Agree x 1
  13. Jim Liak

    Jim Liak

    Messages:
    586
    Ratings:
    +318
    Added 4 more settings ( asked from members ) :

    8. fullscreen, vsync=ON, locked at 58fps and triple buffering enabled in nVidia control panel

    9. latency = 0, fullscreen on, vsync=off, lock at 60fps

    10. latency = 1, fullscreen on, vsync=off, lock at 60fps

    11. latency = 0, fullscreen on, vsync=on NVIDIA

    New video here :



    And updated results

    1. latency = 0, fullscreen off, vsync=off , lock off ( 90 fps ) - > 14 frames
    2. latency = 0, fullscreen on, vsync=off , lock off ( 90 fps ) -> 12 frames
    3. latency = 0, fullscreen on, vsync=on ( 60 fps ) -> 15 frames
    4. latency = 0, fullscreen on, vsync=off, lock at 63fps -> 9 frames
    5. latency = 1, fullscreen on, vsync=on ( 60 fps ) -> 18 frames
    6. latency = 1, fullscreen on, vsync=off, lock at 63fps -> 11 frames
    7. latency = 1, fullscreen on, vsync=on NVIDIA ( 60 fps ) -> 15 frames
    8. fullscreen, vsync=ON, locked at 58fps and triple buffering enabled in nVidia control panel - > 14 frames
    9. latency = 0, fullscreen on, vsync=off, lock at 60fps - > 11 frames
    10. latency = 1, fullscreen on, vsync=off, lock at 60fps - > 11 frames
    11. latency = 0, fullscreen on, vsync=on NVIDIA -> - > 19 frames
     
    • Like Like x 3
  14. LazyBug

    LazyBug

    Messages:
    1,268
    Ratings:
    +164
    So now which one is the best ??
     
  15. Ghoults

    Ghoults

    Messages:
    519
    Ratings:
    +233
    Calculated the delay for your numbers:

    ------------
    1. latency = 0, fullscreen off, vsync=off , lock off ( 90 fps ) - > 14 frames DELAY: 140ms
    2. latency = 0, fullscreen on, vsync=off , lock off ( 90 fps ) -> 12 frames DELAY: 120ms
    3. latency = 0, fullscreen on, vsync=on ( 60 fps ) -> 15 frames DELAY: 150ms
    4. latency = 0, fullscreen on, vsync=off, lock at 63fps -> 9 frames DELAY: 90ms
    5. latency = 1, fullscreen on, vsync=on ( 60 fps ) -> 18 frames DELAY: 180ms
    6. latency = 1, fullscreen on, vsync=off, lock at 63fps -> 11 frames DELAY: 110ms
    7. latency = 1, fullscreen on, vsync=on NVIDIA ( 60 fps ) -> 15 frames DELAY: 150ms
    8. fullscreen, vsync=ON, locked at 58fps and triple buffering enabled in nVidia control panel - > 14 frames DELAY: 140ms
    9. latency = 0, fullscreen on, vsync=off, lock at 60fps - > 11 frames DELAY: 110ms
    10. latency = 1, fullscreen on, vsync=off, lock at 60fps - > 11 frames DELAY: 110ms
    11. latency = 0, fullscreen on, vsync=on NVIDIA -> - > 19 frames DELAY: 190ms
    ------------
    DELAY = frames / 100 = delay in milliseconds

    Last one was at 60fps?

    I added lag in milliseconds to these numbers, hope you don't mind. Thanks for doing this awesome test!
     
    Last edited: Feb 17, 2016
    • Like Like x 1
    • Beer Beer x 1
  16. LazyBug

    LazyBug

    Messages:
    1,268
    Ratings:
    +164
    So still No 4 is the best ??
     
  17. Jim Liak

    Jim Liak

    Messages:
    586
    Ratings:
    +318
    @Ghoults , the correct formula is to use the frames of camera or recorded video?
    I see that you divide with frames of game?
    Wouldn't be correct to divide with 100HZ which is the recorded frame rate by phone's camera?
     
    • Agree Agree x 2
  18. Nico Major

    Nico Major

    Messages:
    523
    Ratings:
    +40
    The question ist - what did you count? Frames of the filmed video or frames of the game?

    If you had counted frames of game, then it had to be set in relation to the frame rate of the game at the observed time slices. For me this seems impossible in most situations:
    1. Without vsync or frame lock you dont know the frame rate of the game exactly.
    2. If the game frame rate is faster than the screens (TV) frame rate - how will you count game frames?

    I think you countet frames of the recorded video? This already would be an absolute measure for the time passed and does not need further calculation.
    If not - go count camera frames ... ;)
     
  19. Jim Liak

    Jim Liak

    Messages:
    586
    Ratings:
    +318
    No i counted the frames of the recorded video.

    Ok it's obvious that it should be divided by the frames of the camera (100).

    Thanks
     
  20. Ghoults

    Ghoults

    Messages:
    519
    Ratings:
    +233
    Yeah, that makes sense. I just wasn't sure how you had measured your numbers. I'll edit the numbers.

    It also seems very odd that
    2. latency = 0, fullscreen on, vsync=off , lock off ( 90 fps ) -> 12 frames
    is slower than this:
    4. latency = 0, fullscreen on, vsync=off, lock at 63fps -> 9 frames

    I'd expect lower frames lag from higher fps.