host_timer_spin_ms

Post Reply
vasili
A semi-regular
A semi-regular
Posts: 26
https://www.youtube.com/channel/UC40BgXanDqOYoVCYFDSTfHA
Joined: Thu Mar 10, 2011 5:31 pm

host_timer_spin_ms

Post by vasili »

In CSS this command has been known to help achieve stable server FPS. It seems that it keeps the server from going into hibernation, thus preventing inconsistencies in server FPS, which leads to better performance in hit registry. However, it does raise CPU usage. This command is not available in cs:go, and if they do not add this command upon release, would it be possible to manipulate the environment that this command put css servers in, but in csgo?

Thanks
User avatar
Edge100x
Founder
Founder
Posts: 12947
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: host_timer_spin_ms

Post by Edge100x »

We talk more about that cvar here: http://www.nfoservers.com/forums/viewto ... =18&t=5831. It actually doesn't have anything to do with hibernation; it just causes the server to busy-wait instead of calling nanosleep() when it is within some number of milliseconds from when the next tick should be. This means that on a system with less inaccurate timers (such as unoptimized Linux installs or Windows, and more specifically Win2k3), the realized FPS can be maintained at closer to 66.

This is not a cvar that we allow to be used on our shared servers here because it increases CPU usage with very little benefit. (Our ultraaccelerated Linux servers also do not need it, as the system timers are very accurate.) You can experiment with it on an VDS or dedicated machine, but we don't recommend changing it full-time.

The developers of CS:GO started with a different codebase that may have been from before OB was changed to use the new tickrate model, and they may have just not implemented this cvar. They may implement it later, or they may not implement it at all. If they do not implement it, there's no real way to force busy-waiting externally (without injecting code), but accurate system timers still make it unnecessary.

It's also important to note that CS:GO also allows the tickrate to be adjusted, whereas Orangebox does not; it's not locked at 66.
Post Reply