128 Tick Doesn't Matter
by pray and spray
Why do people want 128tick? It's because it makes them feel better. Counter-Strike is a very psychological game and simply being in a bad mood can make your kill ratios drop way down and make you feel even more terrible until finally take a break.
Simply by seeing that "128Tick" figure stamped on a server, players think they are more capable and in turn they actually play better and are happier. Without that 128tick stamp, players feel like they can't perform to their full potential, and when they fail to kill someone, or someone kills them first, they of course blame the 64tick for their defeat.
The point of this article is to displace this idea of a strong difference between 128tick and 64tick with actual facts.
Valve's official statement on why they weren't going to switch to 128tick MM servers is because the majority of people playing the game can not achieve higher than 100 FPS to utilize it. While this might be a good reason, I believe that no matter your FPS, the difference between 128tick and 64tick should be negligible.
Let's talk about some time figures first.
- A quick human is capable of 200 millisecond reflexes.
- In laboratory conditions, your eyes take around 150 milliseconds to recognize a newly appearing input.
- You can rapidly click the mouse at maybe 100ms per click, or 60ms if you try hard.
- The Negev, the fastest firing gun in CS:GO, fires a bullet every 60 milliseconds.
- The AK47 fires a bullet every 100 milliseconds.
- The glock can fire a round every 150 milliseconds.
The refresh rate of 64tick is once every 16 milliseconds. Any response under 25 milliseconds is near impossible for a human to detect, and they fall under the "instant" category. (the only exception being the capability of the ears to translate minute phase differences into stereo positioning). You can test your perception of latency in an audio synthesizer by adjusting the buffering time.
Now, 16 milliseconds is a very small time period. Reducing this amount to 8 milliseconds per update would just be a waste of resources at this point (and a fairly large waste, since it requires twice as much).
There's not very many strong arguments as to why people demand 128 tick, but here's a few common ones that come to mind (note that none of these arguments have ever been backed up by any reasonable evidence other than "they can feel it"):
Argument 1) Spray patterns are different in 64 tick and makes it harder to hit people.
This is an argument forged by people getting killed and then blaming that their bullets missed because they are used to "128tick spray patterns". The truth is that the spray patterns are the same. 64tick still allows more than twice as much processing accuracy to represent the spray for any weapon.
Argument 2) 128 tick provides better hit registration.
While this will always be technically true, nobody pays attention to just how much performance gain there is.
First you need to understand how source servers determine if someone is hit.
Source servers keep a small buffer of "where people were" for a default of 1 second behind the actual time. When "bullet" packets reach the server, the server examines the time that the packet was sent, applies the current latency of the client that it came from, and then looks in it's player buffer to see if the bullet actually hit anything.
For example, say the server receives a bullet that it determined should have hit 150 milliseconds ago. On 64tick it would take ticks 9 and 10, and then interpolate around 9 milliseconds between them to determine the exact location of the player.
With this system, 128 tick will have little to no gain over 64 tick performance, while still requiring double the amount of resources.
FACT: The only elements that will degrade hit registration performance are:
A) Latency fluctuation. This may be cause anywhere between the client and the server with the packets sent or received being delayed by an unpredictable amount of time. This of course throws off how the server predicts when the shot happened.
B) Poor server bandwidth. If packets are dropped, they will not reach the server and the server will not process certain events that the client is performing.C) Overloading. When servers are overloaded, their tick rate may drop below desirable thresholds. While this is stating low tick rate is directly associated with poor hit registration, this only applies to tick rates below a certain lower threshold and not 64 tick.
FACT: If a client had a constant stable latency, the server isn't choking, and no packets are dropped, hits would never fail to register. The client sees exactly what the server sees, but it is delayed by latency and distorted by packet loss.
Argument 3) 128 tick provides a smoother gameplay
I will tell you for a fact that if the user input was limited to 32tick intervals, nobody would even be able to notice. 64tick is a very high refresh rate for human input. Even if a person is strafe spamming ("ADADADA"), they are performing these actions at a much slower rate than 64Hz.
64Hz is plenty of accuracy for human input. Your movement isn't even affected by the server unless you are lagging considerably, since your movement is predicted client-side. How smooth your display is depends on:
- A) The current FPS you are getting.
- B) Monitor refresh rate.
Again, you still benefit from a 120Hz monitor on 64tick because your client is still interpolating between packets.
TL;DR? Humans can not overload 64tick with keyboard or mouse input, and because of this fact, servers and clients can interpolate the data given and provide a near perfect experience that will not be improved by 128 tick.
THEORY: The improvement is an illusion.
Sure, 128 tick is better. But not noticeably. Feel free to use it in your league, but please stop demanding Valve to upgrade all of their servers on baseless accusations. 128tick is expensive.
Thank you for reading and feel free to flame me. :)
A closing note: I can actually attest to poor performance sometimes with hit registration on the MM servers, but I will never attribute it to the fact that they are 64tick. 64tick being the cause of poor performance simply does not make sense.