Sub-Tick System

From Counter-Strike 2 Wiki

The Sub-Tick System is a revolutionary networking architecture introduced in Counter-Strike 2 that fundamentally changes how player actions are processed by the game server. It replaces the traditional tick-rate model used in CS:GO and previous Counter-Strike titles.

Overview

In traditional multiplayer games, the server processes game state at fixed intervals called "ticks." In CS:GO, competitive servers ran at 64 ticks per second (64Hz), while community and third-party servers ran at 128 ticks per second (128Hz). The limitation was that any player action (shooting, moving, throwing grenades) could only be registered at the next tick boundary, introducing up to 15.6ms of potential delay on 64-tick servers.

CS2's sub-tick system eliminates this limitation by recording the exact moment an action occurs between ticks and relaying that precise timing to the server. The server then processes the action at the exact time it happened, not at the next tick boundary.

How It Works

Traditional Tick System (CS:GO)

  1. Player presses fire at time T
  2. Client waits for next tick boundary
  3. Tick packet sent to server with the action
  4. Server processes at the tick boundary
  5. Result: Action delayed by up to 1/tickrate seconds

Sub-Tick System (CS2)

  1. Player presses fire at time T
  2. Client records the exact sub-tick timestamp
  3. Tick packet includes the precise timestamp within the tick
  4. Server processes the action at the exact recorded time
  5. Result: Action processed at the precise moment it occurred

What This Means for Gameplay

Shooting

In CS:GO, two players firing at nearly the same time could have different outcomes depending on which tick boundary their shots landed on. In CS2, the sub-tick system ensures shots are processed at the exact moment they were fired, making gunfights more consistent and fair.

Movement

Player movement is evaluated at sub-tick precision:

  • Counter-strafing and stopping accuracy is more precise
  • Peeking angles registers more accurately
  • Movement-dependent mechanics feel more responsive

Grenades

Grenade trajectories and timing are calculated with sub-tick precision:

  • Smoke and flash lineups are more consistent
  • Jump-throws produce identical results regardless of tick timing
  • Grenade pop timings are more predictable

Tick Rate in CS2

CS2 servers run at 64 ticks per second. However, because the sub-tick system records precise timing between ticks, the effective precision is significantly higher than 64Hz. Valve has stated that the sub-tick system makes the difference between 64-tick and 128-tick servers irrelevant, as actions are no longer quantized to tick boundaries.

This was a controversial decision, as many CS:GO players preferred 128-tick servers. Valve's position is that sub-tick provides equal or better precision than 128-tick servers while being more bandwidth-efficient.

Technical Details

  • Each game tick, the client sends input data with sub-tick timestamps
  • The server replays inputs at the precise reported times during tick simulation
  • This applies to all player actions: shooting, movement, grenade throws, interactions
  • The system is transparent to players — no configuration needed

Community Reception

The sub-tick system was one of the most discussed features of CS2:

  • Supporters argue it provides inherently better responsiveness than any fixed tick rate
  • Critics point to perceived inconsistencies and argue 128-tick was sufficient
  • Valve continues to refine the system through updates

Comparison with CS:GO

Aspect CS:GO (64-tick) CS:GO (128-tick) CS2 (Sub-Tick)
Action precision ~15.6ms ~7.8ms Sub-millisecond
Server bandwidth Lower Higher Moderate
Grenade consistency Tick-dependent Better Precise
Movement registration Tick-quantized Tick-quantized Continuous

See Also