(no title)
ishitatsuyuki | 4 years ago
Input lag is the time between you perform the action and the computer shows that on screen. It depends on your frame rate, refresh rate, and peripheral polling rate, as well as how good the game schedules things (which is what LatencyFleX tries to optimize).
Network ping on the other hand is often hidden away. Whether you are on 2ms ping or 100ms ping, the bullet always goes where you aim at: this is done through rollback netcode [1], which rewinds the server state to the time the action has been performed. I'm not saying that having low ping is pointless, it has an effect on things like peeker's advantage, but the effect of network ping is drastically different from the effect of input lag.
pugworthy|4 years ago
However what you are aiming at may not actually be where you see it. If it's another player or something critical to multiplayer gameplay, then you are going to see what the server has told you you're going to see at that location. And latency means that will be delayed. So you may think you have a clear hit on a target, but with latency the target may have moved and you haven't gotten an update yet. Or by the time your fire command gets to the server, the target has already moved.
This can get pretty confusing especially if the game does client side hit effects (like bullet impacts). You shoot, you see immediate feedback of the bullet hitting, but due to latency your target moved and you missed - so the feedback is false. But if you don't do the client-side hit effect, there's a strange subtle delay that feels wrong. Client tells server they fired, server determines hit location, server sends back "hit here" message, client draws hit effect.
Valve has a writeup at https://developer.valvesoftware.com/wiki/Source_Multiplayer_... which covers some of the issues with network latency.
winrid|4 years ago
hffftz|4 years ago
formerly_proven|4 years ago
This starts with incorrect debouncing in input devices (which can cause 10+ ms delay on its own even in dedicated "gaming" hardware!), slow/inefficent poll rates, wrong input handling in games (many still seem to receive input on the "main" thread ticking along at the frame rate, which causes huge amounts of input lag at lower framerates and also clamps inputs to frametimes, which causes significant position errors), incorrect V-Sync implementation (like the broken "triple buffering" in D3D9-11 games, this should be a thing of the past nowadays), graphics drivers favoring throughput over latency as they are almost exclusively benchmarked on average fps (used to be that they could buffer up to 9 frames, or ~150 ms) etc.
zamadatix|4 years ago
In this case it's more about the rendering pipeline input lag so the USB polling delay and the monitor output delay aren't counted, the swapchain delay to prevent tearing or trading latency/FPS are though and then you have to add in your actual game still.
ksec|4 years ago
snarfy|4 years ago
jokoon|4 years ago
titzer|4 years ago