Skip to main content
Made the first example a bit more relevant to interpolation of "missing" data points.
Source Link
Robotnik
  • 38.3k
  • 48
  • 183
  • 309

Interpolation

##Interpolation Interpolation is a mathematical term. It is a means of guesstimating data points based on previous data points. As a very simplistic example, imagine you're waiting to receive eight numbers, but instead you only receive five:

4, 8, 12?, 16?, 20, 24, ?, 32

Now, based on the data you did receive, what do you assume is the nextmissing 3 numbers are? If you said 2412, 2816, and 3228, that is because you recognised the pattern was going up by 4, and were able to assume that the pattern would stay the same.

What this means in Source games (TF2)

##What this means in Source games (TF2) WithoutWithout Interpolating, other player's would seem to 'stutter' or 'jitter' around on screen as they run, especially on bad connections that regularly drop packets. However, the implementation of Interpolation adds artificial latency to a player's view of the game world, as it needs to buffer a few updates in order to interpolate missing ones and display them all smoothly. So fiddling with these values is a balance of regular latency (bad connections) vs artificial latency (interpolation)

##What you should use

What you should use

How to test

##How to test YouYou can turn on your Net Graph in TF2 using net_graph 1 from the developer console. This will show your current lerp value:

Conclusions

##Conclusions ToTo directly answer your question: the differences between cl_interp_ratio 1 and cl_interp_ratio 2 is the difference between buffering one or two updates from the server, in order to compensate for bad network connections and dropped/missing data.

##References

References

##Interpolation Interpolation is a mathematical term. It is a means of guesstimating data points based on previous data points. As a very simplistic example, imagine you're waiting to receive eight numbers, but instead you only receive five:

4, 8, 12, 16, 20

Now, based on the data you did receive, what do you assume is the next 3 numbers are? If you said 24, 28, and 32, that is because you recognised the pattern was going up by 4, and were able to assume that the pattern would stay the same.

##What this means in Source games (TF2) Without Interpolating, other player's would seem to 'stutter' or 'jitter' around on screen as they run, especially on bad connections that regularly drop packets. However, the implementation of Interpolation adds artificial latency to a player's view of the game world, as it needs to buffer a few updates in order to interpolate missing ones and display them all smoothly. So fiddling with these values is a balance of regular latency (bad connections) vs artificial latency (interpolation)

##What you should use

##How to test You can turn on your Net Graph in TF2 using net_graph 1 from the developer console. This will show your current lerp value:

##Conclusions To directly answer your question: the differences between cl_interp_ratio 1 and cl_interp_ratio 2 is the difference between buffering one or two updates from the server, in order to compensate for bad network connections and dropped/missing data.

##References

Interpolation

Interpolation is a mathematical term. It is a means of guesstimating data points based on previous data points. As a very simplistic example, imagine you're waiting to receive eight numbers, but instead you only receive five:

4, 8, ?, ?, 20, 24, ?, 32

Now, based on the data you did receive, what do you assume the missing 3 numbers are? If you said 12, 16, and 28, that is because you recognised the pattern was going up by 4, and were able to assume that the pattern would stay the same.

What this means in Source games (TF2)

Without Interpolating, other player's would seem to 'stutter' or 'jitter' around on screen as they run, especially on bad connections that regularly drop packets. However, the implementation of Interpolation adds artificial latency to a player's view of the game world, as it needs to buffer a few updates in order to interpolate missing ones and display them all smoothly. So fiddling with these values is a balance of regular latency (bad connections) vs artificial latency (interpolation)

What you should use

How to test

You can turn on your Net Graph in TF2 using net_graph 1 from the developer console. This will show your current lerp value:

Conclusions

To directly answer your question: the differences between cl_interp_ratio 1 and cl_interp_ratio 2 is the difference between buffering one or two updates from the server, in order to compensate for bad network connections and dropped/missing data.

References

important typo
Source Link
Robotnik
  • 38.3k
  • 48
  • 183
  • 309

##How to test You can turn on your Net Graph in TF2 using netgraphnet_graph 1 from the developer console. This will show your current lerp value:

##How to test You can turn on your Net Graph in TF2 using netgraph 1 from the developer console. This will show your current lerp value:

##How to test You can turn on your Net Graph in TF2 using net_graph 1 from the developer console. This will show your current lerp value:

ugh, don't know how I missed the wrong word twice in the same sentence
Source Link
Robotnik
  • 38.3k
  • 48
  • 183
  • 309
  • cl_interp should (almost always) be 0, as this will ensure that your client is tuned to the precise update rate of the server. Changing this value affects the minimum interpolation delay ("lerp"), and raising it will reduceincrease lerp, and therefore increase the artificial latency.
    By default it is set to cl_interp 0.1, which is 100ms of lag, and a carryover from the days of dialup internet.

  • cl_interp_ratio Can vary, and is the setting you want to fiddle with in order to tweak your interpolation settings.

  • cl_interp should (almost always) be 0, as this will ensure that your client is tuned to the precise update rate of the server. Changing this value affects the minimum interpolation delay ("lerp"), and raising it will reduce lerp, and therefore increase the artificial latency.
    By default it is set to cl_interp 0.1, which is 100ms of lag, and a carryover from the days of dialup internet.

  • cl_interp_ratio Can vary, and is the setting you want to fiddle with in order to tweak your interpolation settings.

  • cl_interp should (almost always) be 0, as this will ensure that your client is tuned to the precise update rate of the server. Changing this value affects the minimum interpolation delay ("lerp"), and raising it will increase lerp, and therefore increase the artificial latency.
    By default it is set to cl_interp 0.1, which is 100ms of lag, and a carryover from the days of dialup internet.

  • cl_interp_ratio Can vary, and is the setting you want to fiddle with in order to tweak your interpolation settings.

added 2 characters in body
Source Link
Robotnik
  • 38.3k
  • 48
  • 183
  • 309
Loading
Source Link
Robotnik
  • 38.3k
  • 48
  • 183
  • 309
Loading