1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Like RaceDepartment on Facebook.

PC Project : minimizing input lag

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

  1. 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. Thanks for the share. What's the basis for 63fps? Currently using 83 in-game.
     
  3. 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. 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. So i should change this "Maximum frame latency" from 0 to 1 ??
     
  6. Just curious, what makes you want to change it to 1 if his tests shows 0 is slightly faster (well, slightly)?
     
  7. Can you try 83 as well? TIA.
     
  8. I tested with vsync off and lock off . In my system i had 90fps. I guess that it would be almost the same.
     
  9. 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. 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. I think i will leave it as "0" then .. dont know how to test :whistling:
     
  12. Stereo

    Stereo
    Premium Member

    2 is best, frames latency is multiplying by framerate to produce time latency - #2 is 133ms, #4 is 143ms
     
    • Agree Agree x 1
    • Beer Beer x 1
  13. 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. So now which one is the best ??
     
  15. 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. So still No 4 is the best ??
     
  17. @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. 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. 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. 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.