[EN_0103] HowTo - Bandwidth, Latency, Tick rate, ...
Posted by Henry S. on 22/02/17 11:01
HowTo - Bandwidth, Latency, Tick rate ...
Bandwidth is defined as the amount of data that can be transmitted in a fixed amount of time. For digital devices, the bandwidth is usually expressed in bits per second(bps) or bytes per second.
Also commonly (and incorrectly) referred to as "Ping". This is the time it takes for a packet to travel from your client computer, to the server, and back (Round Trip Time or RTT). The reason people often call it "Ping" is that there was a tool built in the 80s called ping that was used to test for latency using something called an ICMP (Internet Control Message Protocol) echo. It sends out ICMP Echo Request packets to the target host and waiting for an ICMP Echo Reply.
The "ping" command still lives on today in most operating systems. In other words, a ping is a test, that uses an ICMP echo, to measure latency.
Note that the one-way travel time of a packet is not always equal to 1/2 of the RTT, but for simplicity's sake we will assume that.
What Causes Latency
Both bandwidth and latency depend on more than your Internet connection – they are affected by your network hardware, the remote server’s location and connection, and the Internet routers between your computer and the server.
Bandwidth determines the amount of data that can be transferred per second while Latency is how long it takes data to travel between its source and destination.
You can have a good Ping but still suffer of slow performance because of limited bandwidth!
Tick rate is the frequency with which the server updates the game state. This is measured in Hertz. When a server has a tick rate of 64, it means that it is capable of sending packets to clients at most 64 times per second. These packets contain updates to the game state, including things like player and object locations. The length of a tick is just its duration in milliseconds. For example, 64 tick would be 15.6ms, 20 tick would be 50ms, 10 tick 100ms, etc.
Client Update Rate
The rate at which the client is willing to receive updates from the server. For example, if the client update rate is 20, and the server tick rate is 64, the client might as well be playing on a 20 tick server. This is often configured locally, but in some games cannot be changed.
The number of frames per second your client is capable of rendering video at. Usually notated as FPS.
The number of times per second your Monitor updates what your video card rendered on the monitor. Measures in Hertz (times per second). If you have a framerate of 30 for example, your monitor will show each frame twice on a 60Hz monitor. If you had a framerate of 120 on a 60Hz monitor, the monitor can realistically only display 60 frames per second. Most monitors are 60Hz or 120Hz.
Interpolation is a technology which smooths movements of objects in the game (e.g. players). Essentially what interpolation is doing, is smoothing out the movement of an object moving between two known points. The interpolation delay is typically equal to 2 ticks, but can vary.
For example, if a player is running in a straight line, and at the time of "Tick 1" they were at 0.5m, and at "Tick 2" they were at 1m, the interpolation feature, would make it appear on the client, as if they moved smoothly from 0.5m to 1m away from their starting location. The server however, only ever really "sees" the player at those two locations, never in between them. Without interpolation, games would appear very choppy, as the client would only see objects in the game move whenever they received an update from the server. Interpolation occurs exclusively on the client side.
Interpolation essentially slows the rate at which the entire game is being rendered to your computer, by a value of time typically equal to 2 ticks.
This is another client-side technique that can be used to compensate for lag. Essentially the client extrapolates the position of objects rather than delaying the entire client render. This method is generally inferior to Interpolation, especially for FPS games since players movements are not predictable.
A 3D model of the character that represents areas considered a valid "hit". You cannot see a hitbox, you can only see the player model. Hitboxes may be larger or smaller, or inaccurate in some ways, depending on the programming of the game. This can make a much larger difference than tick rate regarding perceived hits and misses.
Warface: The "Hitboxes" of male and female characters are identical!