CS2 Input Lag Explained - The Monolithic 64 Hz Client Simulation Tick Stalls the Render Thread

Everything about latency. This section is mainly user/consumer discussion. (Peer-reviewed scientific discussion should go in Laboratory section). Tips, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
soul4kills
Posts: 104
Joined: 01 Aug 2025, 01:30

Re: CS2 Input Lag Explained - The Monolithic 64 Hz Client Simulation Tick Stalls the Render Thread

Post by soul4kills » Yesterday, 14:39

The reason why the cap smooths out the spikes is because you're not bottlenecking your cpu core that the game is on anymore. Has nothing to do with network spikes. It's all related to the cpu waking up at each interval then being blasted with work because you have uncapped frames.

The reason why you're mistaking it as a network thing is because the uncapped game loop is starving the network driver of compute time. Because the network driver is most likely on the same core as the game. Because the single core bottleneck of uncapped frames.

So if you don't want spikes, then cap your frames. If you want uncapped frames then you have to live with the spikes. Or you could set the affinity for the game to not be on the first 2 cores. And see if that helps.

unconnected
Posts: 65
Joined: 08 Oct 2023, 19:52

Re: CS2 Input Lag Explained - The Monolithic 64 Hz Client Simulation Tick Stalls the Render Thread

Post by unconnected » Yesterday, 14:47

soul4kills wrote: ↑
Yesterday, 14:39
The reason why [...]
Appreciate the thought, but that doesn't really match what the data shows.

​First off, the issue happens identically offline. If you load an empty local map, you get the exact same periodic 15.6ms spikes on GPU Wait, even though the network card is doing basically nothing and there are no incoming packets to process.

​Also, looking directly at the engine's internal profiler in VConsole2, the networking nodes sit flat at around 0.09ms. The CPU isn't choking on network drivers or DPCs at all. That entire 4ms spike happens inside Client Rendering while the main thread waits to sync up with the render queue.

Image

Capping the framerate does smooth out the graph, but only because you're forcing the CPU to sleep during the good frames so they match the slow ones. It hides the symptom, but the engine is still choking on that 64Hz loop.

User avatar
Chief Blur Buster
Site Admin
Posts: 12295
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: CS2 Input Lag Explained - The Monolithic 64 Hz Client Simulation Tick Stalls the Render Thread

Post by Chief Blur Buster » Yesterday, 16:12

I am watching this thread with great interest.

I'm wondering if Chris (Battle(non)Sense) has a word to say about this.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on: BlueSky | Twitter | Facebook

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

vnb
Posts: 109
Joined: 04 Nov 2025, 14:44

Re: CS2 Input Lag Explained - The Monolithic 64 Hz Client Simulation Tick Stalls the Render Thread

Post by vnb » Yesterday, 19:10

unconnected wrote: ↑
02 Oct 2026, 19:57
soul4kills wrote: ↑
02 Oct 2026, 14:41
15.625 is exactly windows 11 default timer resolution. Windows 11 has a dynamic timer resolution where each app will wake up to do work at an independent interval. What you might be seeing is background processes waking up every 15.625ms to do work, and that is what's causing that issue.

Enable "GlobalTimerResolutionRequest" in your registry. And see if that interval changes.
Thanks for the input, I've tried with global timer resolution request on and it's even more clear now.
Image
Btw gpu wait spikes proves that the engine locks render pipeline when processing a tick
thank you for doing this.

is it possible to run your test during a Face it game then on a community server (Cybershoke) for example? are those graph done on official Valve servers?

I am convinced that community servers like Cybershoke and others have completely different network settings server wise compared to Valve official servers or Face it, it would be very interesting to compare each visually and individually with your graphs.

unconnected
Posts: 65
Joined: 08 Oct 2023, 19:52

Re: CS2 Input Lag Explained - The Monolithic 64 Hz Client Simulation Tick Stalls the Render Thread

Post by unconnected » Yesterday, 19:43

Chief Blur Buster wrote: ↑
Yesterday, 16:12
I am watching this thread with great interest.

I'm wondering if Chris (Battle(non)Sense) has a word to say about this.
Thanks for the bump.
I believe Chris moved on with life..
vnb wrote: ↑
Yesterday, 19:10
is it possible to run your test...
I hosted the tool on github pages here,
just do a capture with presentmon and upload the csv to the tool.
Also share results as I haven't tested how bad it is on lower-end systems

Post Reply