Forum Discussion
*edit* I was wrong about time nudge being the same thing as extrapolation offset. Everything written below about extrapolation offset still applies to BF4-BFV and 2042, but time nudge and extrapolation offset are not the same thing. Read more about time nudge here.
Time nudge is called extrapolation offset in older Battlefields and is how many milliseconds the client is buffering data being sent to it from the server. So it's a buffer/delay on data you're receiving from the server.
The buffer's function is so clients can interpolate player movement. Interpolation smooths player movement by comparing a player's location at tick 1 with their updated location at tick 2, and then filling in the movement blanks (ie interpolating movement between two location points).
For example, if an enemy is standing on the left side of a tree for tick 1, and then is standing on the right side of the tree for tick 2. Without interpolation he will instantly teleport from the left side of the tree to the right. Interpolation fills in the movement blanks between those two locations.
So you need two location points for interpolation to work. That's where time nudge comes in. The client buffers around 1 tick of received data to help smooth out any network errors that may occur like packet loss.
If the packets you're receiving from the server are arriving out-of-order due to packet loss, the client (your console or pc) will increase time nudge in order to buffer more incoming packets in an attempt to have more time to rearrange everything in the right order and play it back smoothly using interpolation.
Hope that made sense. 🙂
Extrapolation comes into play when packet loss becomes heavy and there is no longer two back-to-back ticks for the client to interpolate with. The client is forced to extrapolate using only the last known direction and speed of the moving object or player. Which is bad, we want interpolation not extrapolation because interpolation is way more accurate.
Hence, 'time nudge / extrapolation offset' is how much incoming data is buffered for interpolation. If that buffer runs out then extrapolation kicks in. The buffer is usually a little under one network tick for a stable connection.
Here you can see a nice stable connection and 'time nudge / extrapolation offset' is 15ms. A little under the 16ms tick rate of the 60Hz server. Also note the 1ms network variation, aka ping time fluctuation.
This picture shows packet loss and a network variation of 40ms. Notice the high 77ms extrapolation offset buffer. It's attempting to buffer 77ms worth of packets in order to have enough time to put out-of-order packets into the correct order so interpolation will work. So really it's a 77ms interpolation buffer.
@OskooI_007 wrote:Time nudge is called extrapolation offset in older Battlefields and is how many milliseconds the client is buffering data being sent to it from the server. So it's a buffer/delay on data you're receiving from the server.
The buffer's function is so clients can interpolate player movement. Interpolation smooths player movement by comparing a player's location at tick 1 with their updated location at tick 2, and then filling in the movement blanks (ie interpolating movement between two location points).
For example, if an enemy is standing on the left side of a tree for tick 1, and then is standing on the right side of the tree for tick 2. Without interpolation he will instantly teleport from the left side of the tree to the right. Interpolation fills in the movement blanks between those two locations.
So you need two location points for interpolation to work. That's where time nudge comes in. The client buffers around 1 tick of received data to help smooth out any network errors that may occur like packet loss. Really it's more to smooth out-of-order packets due to ping time fluctuations.
If the packets you're receiving from the server are arriving out-of-order due to ping time fluctuations, the client (your console or pc) will increase time nudge in order to buffer more incoming packets in an attempt to have more time to rearrange everything in the right order and play it back smoothly using interpolation.
Hope that made sense. 🙂
Extrapolation comes into play when packet loss becomes heavy and there is no longer two back-to-back ticks for the client to interpolate with. The client is forced to extrapolate using only the last known direction and speed of the moving object or player. Which is bad, we want interpolation not extrapolation because interpolation is way more accurate.
Hence, 'time nudge / extrapolation offset' is how much incoming data is buffered for interpolation. If that buffer runs out then extrapolation kicks in. The buffer is usually a little under one network tick for a stable connection.
Here you can see a nice stable connection and 'time nudge / extrapolation offset' is 15ms. A little under the 16ms tick rate of the 60Hz server. Also note the 1ms network variation, aka ping time fluctuation.
This picture shows packet loss and a network variation of 40ms. Notice the high 77ms extrapolation offset buffer. It's attempting to buffer 77ms worth of packets in order to have enough time to put out-of-order packets into the correct order so interpolation will work. So really it's a 77ms interpolation buffer.
BF1 is so beautiful
About Battlefield 2042 General Discussion
Recent Discussions
- 12 hours ago
- 13 hours ago
- 17 hours ago