Skip to content

Support only perfect ticrates: 32hz 64hz 128hz, raise default to 64hz

bones_was_here requested to merge bones_was_here/ticrate into master

At these ticrates there's no floating point error accumulation.
You will eventually run out of bits, so with a default DP build you can stay on the same map for 2^17 seconds at 128hz, 2^18 at 64hz, 2^19 at 32hz.
A PRVM_64 build can stay on the same map for 2^46 seconds at 128hz.
If the server is paused (which it will be by default after all players leave) there's no limit because time is stopped.

This is the reason CS:Go uses 64hz in casual, 128hz in professional, and Valorant always uses 128hz.

Changes monsters and turrets to always run at server ticrate, previously their thinking would skip frames if the server was configured to a higher ticrate than 30hz, causing choppy movement.

Depends on DP master because previously 64hz has been tested, and some people complained it "felt bad". This is because in div0-stable there's small (size is frametime-dependent) movement prediction errors every frame unless the client (and for best results, server too) is running at integer millisecond frametimes (eg 125, 250). This is fixed in DP master.

Also depends on DP master because it warns players if the server is lagging (often they can't tell if it's the connection or even their client). That's important because a higher ticrate gives a cheap VPS a shorter deadline by which the CPU must become available to the game so it can run a frame.

Closes #2860

Edited by bones_was_here

Merge request reports