Sub-tick doesn't slice ticks finer; it hands timing authority to timestamps, turning the counter-strafe window into a drifting phase you must learn to breathe with.
Here's the bottom line: CS2's sub-tick doesn't chop ticks into smaller pieces. It takes the question of "when does an action count" out of the server tick's hands and gives it to timestamps. That means the instant you tap A then D, the server doesn't see a binary state within one tick—it sees a timed sequence of inputs. The counter-strafe window is therefore no longer a fixed physical length, but an interval that drifts with your input phase.
1. Input Sampling Rate Isn't Your Counter-Strafe Precision
Many players attribute "clean counter-strafes" to keyboard polling rate or monitor refresh rate. These parameters do affect what you see and send, but they don't determine how the server adjudicates. Under sub-tick, the client stamps movement inputs with local timestamps and uploads them; the server uses its own clock sync to decide which input falls into which tick interval.
The problem lives here: your counter-strafe is a continuous process—release A, press D, velocity hits zero, crosshair re-centers. This sequence is smooth on the client, but the server samples it into timestamped fragments. If your key rhythm lands near a server split point, the same muscle memory gets read as two different outcomes: one judged "stopped," one judged "still sliding." That's why sometimes your counter-strafe feels like a knife cut, other times like stepping on ice.
2. Crosshair Re-centering Lags Your Feet by Half a Beat—It's Not an Illusion
The end of a counter-strafe isn't velocity zero; it's the crosshair returning to a shootable stable state. Sub-tick splits this into two lines: a velocity line and a crosshair spread line. The velocity line is adjudicated by the server; the crosshair line is drawn by the client based on local prediction. The two lines use different time sources.
So a window appears: the server already thinks you're standing, but the client crosshair is still converging on local prediction; or conversely, the crosshair has converged, but the server hasn't confirmed your velocity zero. This window isn't long, but in AWP duels and rifle taps it's enough to decide where a bullet goes. What you feel as "crosshair re-centered but the bullet flew" is essentially two timelines not aligned.
3. Train the Counter-Strafe Window Like Breathing
Since the window drifts, don't ram it with a fixed rhythm. A more practical approach: treat the counter-strafe as a short breath—press the opposite key with slightly more force and time than your instinct, let the velocity line land first, then wait for the crosshair line to catch up. Specifically:
- In aim_botz, use single taps, deliberately hold the opposite key 20 to 30 ms longer, and feel the tail of the crosshair convergence.
- Repeat with different weapons, because different weapons have different crosshair spread curves, and the window's visibility differs.
- Record your own POV and frame-by-frame count the frames between the opposite key press and the first bullet, not the kill count.
The goal isn't to make you faster, but to give you a stable landing point even as the window drifts. Sub-tick gives you a finer time scale, at the cost of you having to find that alignment line yourself. The counter-strafe window isn't in your refresh rate; it breathes in the phase difference between client and server. Your job is to learn to breathe with it.
One last reminder: don't treat sub-tick as a universal explanation. Network jitter, server load, and your own input device latency all stack onto this window. Breaking variables down one by one is more useful than broadly blaming tick. The skins on C5GAME with wear and pattern labels won't help you counter-strafe, but a mousepad with stable grip and a set of peripherals you trust can at least make your input phase jitter a little less.