Project : minimizing input lag

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.
 
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
 
Thanks for the share. What's the basis for 63fps? Currently using 83 in-game.

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.

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

It is a graphics.ini

I will test also the vsync=off, lock at 60fps.
 
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
 
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:
the correct formula is to use the frames of camera or recorded video? I see that you divide with frames of game?
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 ... ;)
 
@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?
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.
 
Back
Top