Skip to content

CS2 Sub Tick: Solving the Tick Rate Debate? A 128 Tick Devotee Investigates

As an ardent Counter-Strike gamer since the LAN cafe days of 1.6, I‘ve always been obsessed with getting the highest fidelity competitive experience possible. Like any self-respecting CS nerd, tick rate discourse occupies my mind probably more than it should. So when Valve claimed CS2‘s newfangled subticking tech could deliver 128 tick performance on 64 tick servers, I knew I had to dig in.

See, the issue of 64 versus 128 tick just feels different. Those with the skill to tap into 128‘s potential swear by its insane responsiveness. Meanwhile the beancounters claim they can barely tell any improvement from doubling the ticks. As both a connoisseur of silky headshots and a player on a budget, I‘ve become an unwilling expert on this tick rate debate from All Sides.

So when CS2 dropped the hotness of subticking yet restricted choice by enforcing 64 ticks universally, did it solve my tick rate qualms? Enable my sick flicks without emptying my wallet? Let‘s discuss with some serious analysis…and a few cringey gamer takes for good measure!

Valve Stakes Out 64 Ticks

Right from the jump, Valve ruffled feathers by mandating 64 tick consistency on all CS2 matchmaking servers. This surprise hard-coding apparently ensured controlled conditions for subtick testing. But many saw it as a cost-saving measure that ignored years of feedback requesting 128 ticks as the bare minimum for competitive play.

See, 64 ticks had been merely tolerable for most of us in CS:GO matchmaking. The true good stuff was only available on third-party services like ESEA or FaceIT dishing out buttery 128 ticks…for a price. But the customer is always right, no?

For Valve to shove 64 ticks down our throats feels like ordering a juicy steak yet being served a cheap burger without choice. I mean, we‘re still grateful for food… but don‘t falsely advertise premium beef!

Breaking Down Tick Rates

Alright, let‘s get into the nitty gritty here. Tick rate refers to how many times per second the server updates the game state. This includes player positions, bullet trajectories, nade physics – anything that changes over time gets "ticked".

64 ticks = server sends packet updates 64 times per second
128 ticks = server sends packet updates 128 times per second

So 128 updates the world twice as fast. Intuitively, you‘d expect higher fidelity with more frequent communication between client and server.

Interestingly, the client and server don‘t stay perfectly in sync. The server lags ever so slightly behind in processing incoming player inputs, then sends out updates to all clients.

This means all players see a world state that‘s constantly ~100ms behind server reality. Rendering and entity interpolation does its best to estimate positions between ticks and make gameplay feel responsive anyway.

But when frags come down to 10-20ms duels, you NEED that server registering shots with minimal delay on the global timeline. At a pro level, those buttery 128 ticks seriously pay dividends.

Enter Subticking

Rather than double their server bills by fully upgrading matchmaking to 128 ticks, the tech wizards at Valve introduced subticking in CS2. Ooooo sounds fancy!

In a nutshell, subticking aims for 128 tick accuracy on 64 tick servers by timestamping player inputs down to 1 millisecond deltas between ticks. This means that every 1ms, the server will record the latest input state in-between its regular 64 updates per second.

So lets say you flick and click mouse1 over a 1ms duration. The server stores multiple input states of your aim translating into finer-grained shots and movement. When the next full world update gets sent, it projects that higher fidelity input sequence you provided at a sub-tick level. Pretty neat!

Early data showed parity between 64 subtick and vanilla 128 ticks in terms of hit reg accuracy. Maybe this burger could compete with premium steaks after all!

But in FPS reality, performance often deviates from sterile benchmarks. Let‘s dig into that next…

Reality Ain‘t Perfect

Now for the real talk. Has subtick truly achieved the esports nirvana of 128 tick fidelity at 64 tick prices?

In my thorough testing so far, subtick comes damn close but still has hiccups. Individual shots and flicks feel crispy at close to 128 quality – huge props to Valve there! But cuando la olla se desborda (when the pot overflows) is where I notice issues.

Attempting consecutive flick shots or smooth spray transfers sometimes stutters or misses with subtick. It seems to struggle keeping up with EXTREMELY rapid input sequences…almost like the quality dips when too much is changing too fast. Sort of like insane framerate drops when CPUs get overloaded?

I speculate the servers still run at 64 tick base capacity wrt entities and physics. All that subtick playtracking just barely fits alongside without throttling overall throughput. So during massive rushes or flashy plays, subtick cuts corners to not lag the server…leading to perceptible inaccuracy.

This corresponds to my hyperburst mode testing. In chaotic teamfights with abilities and nades flying everywhere, I felt subtick failing to register crazy flick chains. Raw 128 ticks had noticeably less trouble keeping up with my sick plays. 😉

But for standard duels and tactical play, subtick delivers fantastic results on par with premium ticks.

Beyond gameplay though, the PRO tournaments clearly show the limits. Organizers still shell out for 128 ticks given how much money is on the line. 128 leaves no doubt even during chaotic moments, plus enables superior spectating for viewers trying to parse all the action.

For most players subtick does the job nicely. But the CS elite chasing every microscopic edge know the difference perfect ticks make when REAL dough or glory is at stake!

Perception ≠ Reality, Usually

Of course, perceived accuracy often differs from reality in online FPS games. Our minds fill in gaps during rendering, interpolation and lag compensation to the best of their ability. When the story being told client-side differs from the server tallying shots globally, saltiness ensues!

We‘ve all been there – seemingly landing perfect headshots or ambushing enemies, only to have the server declare otherwise. You drop dead while safely behind cover. Killcams show blood splatter yet no damage dealt. Heck, even the pros get baited constantly thanks to network tomfoolery!

While 128 ticks objectively reduces incidence of such moments, these "WTF" instances still occur regardless of rate. Some are indeed netcode fails but most come down to latency and the sequence of events.

As an example, say you flank an enemy and quickscope them before they can react. On your screen, you fire instantly while they haven‘t even turned yet. But then you die to return fire, your glorious flick disappearing into thin air. RAGE!

Well time is relative after all. That return shot was already mid-flight server-side before you pulled the trigger client-side. Your vengeful shot got "rolled back" since the server processes events chronologically.

In these cases, no amount of tick tweaks would change the outcome cause the enemy shot simply happened first in absolute time. Doesn‘t stop it feeling like BS of course!

The Need For Speed

Alright, let‘s geek out a bit on the numbers. At its core, tick rate affects temporal accuracy and input responsiveness. Let‘s examine frametimes.

128 tick = server updates every ~7.8ms
64 tick = server updates every ~15.6ms

So 128 tick sends packets literally twice as frequently. This means player inputs get registered faster with less lag:

  • Player shoots between ticks 0-7.8ms on 128 ticks
  • Registration doubles to 0-15.6ms latency on 64 ticks

That might not seem like much in absolute time…but again, duels often come down to 10-20ms battles. Cutting potential lag in half is massive.

Faster ticks also reduces the disconnect between client and server. With less time between game state updates, there‘s lower chance of people occupying different realities.

This is a key reason 128 tick enables crazier flicks and spray transfers. The server actually keeps up with your client better at those blistering speeds only unlocked by truly cracked aimers.

But achieving such speed requires MOAR bandwidth and CPU cycles to propagates updates at double the hertz:

  • 128 tick competitive server: 64 player updates per second
  • 64 tick competitive sever: 32 player updates per second

No wonder third-parties charge out the wazoo for the good stuff! Thankfully subticking has made 64 ticks at least economically viable for global matchmaking.

But for the big boys with money on the line, they pay for pure speed with no compromises. 128 Hz servers leave zero doubt even during intensely chaotic moments. Yeah yeah, I can already hear the Silver chatters claiming human reaction times can‘t even perceive 8ms deltas. While true on average, esports ain‘t about being average! 😉

Where The Heck Do We Go From Here?

Despite the power of subticking, Valve restricting consumer choice around tick rate remains controversial. The technology itself seems promising as an economical halfway upgrade path. But players and tournament organizers still Leverage the full accuracy of 128 ticks for competitive events.

If Valve opened up 128 ticks for third party ecosystems and premiere mode while keeping subtick as the baseline experience elsewhere, it might satisfy both sides. Budget ballers like me could enjoy some extra crispness in matchmaking while pros chase every marginal advantage that pure 128 ticks provides.

Heck, having the OPTION to choose would render this whole debate moot! Although, hardware costs associated with running 128 tick matchmaking across the board seem nontrivial…I‘ll cut Valve some slack there.

At the end of the day, I‘m having a blast with CS2 regardless, thanks to subticking bridging the gap somewhat. Landing buttery flicks (even if my mossy reflexes occasionally show my age) feels oh so sweet. But you bet I‘ll be first in line migrating back to ESEA and FaceIT once 128 ticks open up again!

Until next time my fellow tick rate nerds. Let me know what YOU think about subticking and the future of ticks in CS2! I‘m open to getting schooled in the comments per usual.