Sub-tick Isn't Zero Latency: The Physics of Counter-Strafe Recoil and Crosshair Recovery

November 10, 2026 at 14:00:11

Sub-tick sharpens input timestamps, not the movement model. Here's why the first bullet of a counter-strafe still lands differently, and how to sync the reverse key with crosshair recovery as one motion.

A lot of players read sub-tick as "the server knows every millisecond of my keypress," so the counter-strafe becomes a pure awareness task: tap the opposite key, stop, shoot. In practice, the same counter-strafe that felt clean under old 128-tick habits doesn't put the first bullet in exactly the same place under CS2's input model. The reason isn't that the server got smarter — it's that input sampling, character acceleration, and crosshair recovery now couple differently. This piece narrows in on one thing: during the counter-strafe window, what is the reverse key actually fighting against?

1. Sub-tick samples input, not displacement

Pin the concept down first. Sub-tick solves the problem of the server receiving multiple input timestamps inside one tick. It pushes movement command timing closer to the real keypress moment, but it does not change the character acceleration model, and it does not change bullet registration. Put another way: if you release A at 3.2 ms and press D at 3.6 ms, the server knows the order of those two actions more accurately — but the character still has to run the integral from leftward velocity to a standstill through acceleration and deceleration.

That produces a counterintuitive conclusion: sub-tick makes the timing of the counter-strafe input more precise, which actually amplifies differences in the quality of the counter-strafe itself. Tick quantization used to swallow some sloppy counter-strafes; now they're reproduced more faithfully, so the residual recoil shows up.

2. Recoil isn't mysticism — it's leftover velocity vector

The physics of a counter-strafe is simple: you press the opposite key, give the character reverse acceleration, and drive horizontal velocity to zero as fast as possible. The problem is that at the instant velocity hits zero, your crosshair has not "zeroed" — it's still moving with your view, and that micro-jitter comes from wrist pullback, mousepad friction, and key rhythm.

Pro counter-strafes look "clean" not because they press faster, but because they bind the duration of the reverse key and the mouse recovery into a single motion. Try a small experiment: on a workshop aim map, do A-D counter-strafes against a wall, fire one shot, and watch the bullet hole. If you release A before pressing D, the hole drifts. If your wrist has already pulled the crosshair back to center as you press D, the hole tightens up. Under sub-tick the difference is more visible, because finer input timestamps no longer let ticks smooth over the misalignment between the two actions.

3. Crosshair recovery: the ignored "second half" of the counter-strafe

What actually decides whether the first bullet lands is often not the instant velocity hits zero, but whether the crosshair is stable in the few dozen milliseconds after. Here's an easily missed point: in CS2, crosshair recovery and spray recovery are two separate lines. Spray recovery looks at fire interval and movement state; crosshair recovery looks at your view input. When the two are out of sync, you get "crosshair is on the guy, bullet went wide."

So don't train the counter-strafe as just "stop." Train "stop + recover" as one unit. My suggestion is to split the counter-strafe into two beats: beat one presses the reverse key to zero velocity; beat two, at the same instant of zeroing, uses the wrist for a tiny reverse correction that presses the crosshair back onto the target. No pause between the beats — a pause turns beat two into "re-aiming," and that's slow.

4. A reproducible drill

First, use a static target to practice "single-shot counter-strafe," ten shots per set, and look only at bullet-hole distribution, not hit count. A tightening distribution means recovery and counter-strafe are in sync. Second, shorten the reverse-key duration to "just enough to stop" — holding it longer makes the character start moving the other way and creates fresh velocity residue. Third, record a first-person replay of yourself and step frame by frame through the gap between the velocity-zero frame and the fire frame; more than two or three frames means you're "waiting to be stable," and that habit costs you under sub-tick.

One last reminder: sub-tick is an improvement in input precision, not a reduction in counter-strafe difficulty. It lights rough motion up more clearly, so the recoil and recovery you need to train can't skip a single frame.