Com preciseTic (cvar)
Description
This CVar enables/disables the running of multiple updates in a single tic to keep the main and async threads in sync.
Usage
At the console type…
com_preciseTic [bool]
Parameters
- [bool]
- 0 - Disable.
- 1 - Enable.
Flags
Flag | Enabled | Description |
---|---|---|
CVAR_ALL | all flags | |
CVAR_BOOL | X | variable is a boolean |
CVAR_INTEGER | variable is an integer | |
CVAR_FLOAT | variable is a float | |
CVAR_SYSTEM | X | system variable |
CVAR_RENDERER | renderer variable | |
CVAR_SOUND | sound variable | |
CVAR_GUI | gui variable | |
CVAR_GAME | game variable | |
CVAR_TOOL | tool variable | |
CVAR_USERINFO | sent to servers, available to menu | |
CVAR_SERVERINFO | sent from servers, available to menu | |
CVAR_NETWORKSYNC | cvar is synced from the server to clients | |
CVAR_STATIC | X | statically declared, not user created |
CVAR_CHEAT | X | variable is considered a cheat |
CVAR_NOCHEAT | variable is not considered a cheat | |
CVAR_INIT | can only be set from the command-line | |
CVAR_ROM | display only, cannot be set by user at all | |
CVAR_ARCHIVE | set to cause it to be saved to a config file | |
CVAR_MODIFIED | X | set when the variable is modified |
Notes
There are two threads running in Doom 3, the main thread, and the ‘async’ thread. The main thread runs the game code, networking, physics, renderer, etc… The async thread takes care of sound if com_asyncSound is 1 or 3 (windows & linux), it also takes care of input if com_asyncInput is 1 (it defaults to 0).
The async thread wakes up every 16 milliseconds (60fps) to run an update. If more than 16ms have elapsed since the last update, it will run multiple updates to catch up (for example if 51ms have elapsed, it will run 3 updates). Similarly, if the update is called too soon, it gets ignored. When com_preciseTic is set to 0, it skips this bit of logic and always runs a single update no matter what.
–from binaryc post @ http://www.doom3world.org/phpbb2/viewtopic.php?p=106823&highlight=#106823