The Counter-Strike community has been actively discussing the allegedly inconsistent movement system in CS2—especially when it comes to acceleration or direction changes. A popular post recently claimed that CS2’s Subtick system causes variations in speed based on the exact moment a movement key is pressed within a tick. However, Reddit user Hyperus102 published a detailed technical response debunking that claim, showing that Subtick in CS2 actually delivers more stable and predictable movement than the traditional 64 or 128 tick system in CS:GO.
Why the Previous Analysis Was Flawed
Hyperus began by criticizing the methodology of the original post, which relied on cl_showpos and attempted to derive acceleration by differentiating the displayed velocity. The core problem? cl_showpos doesn’t reflect actual physical velocity — it shows interpolated values calculated between two ticks. It doesn’t account for subtick steps, which are at the heart of CS2’s updated simulation model.
Moreover, the author pointed out that using host_timescale — a common way to slow down time in the game for testing purposes — can introduce bugs in how speed is reported. For example, velocity can get stuck at the value from the first full tick, leading to misleading conclusions about uneven acceleration.
How Subtick Works: Key Differences from CS:GO
The Subtick system in CS2 enables the engine to process input not only at the start of each tick (64/128) but at any moment between them. This is achieved through:
- Recalculating the destination tick after a key press that happens between ticks
- Interpolating position and velocity between previous and next ticks
- Inserting an additional movement step after the key press — to prevent “friction-free” acceleration time like in CS:GO (where friction isn’t applied on the first tick if velocity is zero)
In CS:GO, movement begins only on the next full tick, causing up to 15.625 ms of delay. In CS2, this delay can be under 1 ms, depending on the subtick fraction.
Interpolation and “Jumps” in Speed Are Visual, Not Real
Many perceived “jumps” in speed graphs during Subtick movement analysis come from rendering and interpolation quirks, not the actual movement simulation. Hyperus explains:
cl_showpos doesn’t show physical velocity — it shows interpolated velocity. With infinite FPS, you’ll see a jump from 0 to 5.38 u/s, even though the real velocity was 10.74 u/s on the next tick.
This effect occurs because the key is pressed mid-tick, and the interpolation system shows the midpoint between old and new velocity. Hyperus’s graphs confirm: there is no real inconsistency — only expected speed changes based on physics and timing.
Subtick vs. CS:GO: Objective Comparison
The post includes comparative graphs showing player movement under three scenarios:
- CS:GO at 64 tick
- CS:GO at 128 tick
- CS2 with Subtick
The results are clear: the widest spread occurs in 64-tick CS:GO, where pressing a key at different subtick moments results in up to 3.9 units of variation in travel distance. For 128-tick CS:GO, this drops to ~1.95 units. But in CS2? Subtick-related variation is just 0.15 to 0.3 units, even in worst-case tests.
Counter-strafe: Why Precision in CS:GO Is an Illusion
Hyperus also examined counter-strafe movement (ADAD). In CS:GO, players ideally need to release a key after an exact number of ticks to cancel momentum. Failing to do so means leftover speed — or even acceleration in the opposite direction. With human reaction times (~110–120 ms), it’s impossible to consistently time releases to exact ticks, making a “perfect” counter-strafe unrealistic.
In CS2, Subtick input detection allows for precision down to 128 parts of a tick — or just a few hundred microseconds. This drastically reduces error margins when stopping or reversing movement.
Final Conclusion
Subtick movement in CS2 is the most consistent form of movement the series has ever seen.
That’s the conclusion Hyperus reached after extensive testing with in-game memory data collected via a Metamod addon. Minor jumps in speed or position are visual artifacts, not physical flaws — a result of interpolation, not simulation errors.
In contrast, CS:GO movement was far more reliant on “tick luck,” and had greater built-in delays. Subtick makes movement more accurate, natural, and predictable — both for players and for the physics engine.