CS2 Telemetry (Net Graph): How to Enable, Read and Fix Performance Issues
Introduction
Counter-Strike 2 introduces a powerful feature called Telemetry, which has fully replaced the classic net_graph command from CS:GO and earlier versions. If you’re looking for the old net graph in CS2, this is the system you need. Instead of a small text overlay, CS2 Telemetry gives you a modern, customizable way to track FPS, frame time, ping, packet loss, jitter, and network stability graphs in real time.
For players, this isn’t just a cosmetic change - it’s a practical tool to understand why your game feels smooth or laggy. If you’re troubleshooting random stutters, checking server quality, or simply optimizing your system, Telemetry provides data you can trust. In this guide, I’ll show you how to enable it, explain what each number means, and share tips on how to use it to fix common performance issues in CS2.
You’ll also learn which CS2 telemetry commands to use if you want more control through the console.
CS2 Telemetry vs Net Graph: What Changed?
net_graph command
In older versions of Counter-Strike, players relied on the simple net_graph overlay to check FPS and ping. CS2 took that idea and rebuilt it from scratch, creating Telemetry - a cleaner, more detailed tool built directly into the HUD. Instead of a wall of numbers, you now get easy-to-read stats that actually help you understand if a problem comes from your PC, your connection, or the server itself.
Core Telemetry Metrics in CS2
When you turn on Telemetry, six numbers matter the most:
- FPS (Frames Per Second): shows how smoothly your game is running overall.
- Frame Time: tells you how long each frame takes to render - more accurate than just average FPS.
- Ping: your delay to the server, measured in milliseconds.
- Packet Loss: percentage of data that never makes it to the server (or back to you).
- Jitter: variation in ping - even with low ping, high jitter means unstable gameplay.
- Missed Ticks: when the server doesn’t deliver updates on time, causing micro-lags or stutter.
These numbers are the backbone of CS2 Telemetry. Once you know what they mean, you can quickly spot if it’s your PC, your network, or the server that’s holding you back.
How to Turn On Telemetry in CS2
Turning on Telemetry only takes a minute, and you can do it in two ways: straight from the settings menu or with console commands if you want more control.
Enable via Game Settings
- Launch CS2 and click the gear icon in the main menu
- Go to the Game tab.
- Scroll down to the Telemetry section
- Switch on the metrics you want (FPS, Ping, Network stats)
- Choose whether to show them Always, Only if poor, or Never
That’s it - your chosen numbers will now appear directly on your HUD.
Enable via Console: CS2 Telemetry Commands
If you prefer the developer console, CS2 gives you more flexibility. First, make sure the console is enabled:
- Go to Settings -> Game -> Enable Developer Console -> Yes
- Press
~(tilde) to open it
Now you can use commands like:
cl_hud_telemetry_frametime_show 2
// Always show frame time (FPS) in the HUD
cl_hud_telemetry_frametime_poor 100
// Frame time above this is considered "poor" (1-100ms, 100ms = 10FPS, default 100)
cl_hud_telemetry_ping_show 2
// Always show ping in the HUD
cl_hud_telemetry_net_misdelivery_show 2
// Always show percentage of missed user commands & snapshots
cl_hud_telemetry_net_misdelivery_poor 5
// Anomaly rate higher than this is "poor" (0-100, default 5)
cl_hud_telemetry_net_quality_graph_show 2
// Show packet jitter and loss/reordering in the HUD
cl_hud_telemetry_net_detailed 2
// Show detailed breakdown: loss, late delivery, peak jitter
cl_hud_telemetry_serverrecvmargin_graph_show 2
// Show server recv margin graph; how early/late commands arrive
All of these commands use the same logic: 0 = Never, 1 = Only if poor, 2 = Always.
Manage CS2 Telemetry via Binds or Scripts
For convenience, you can assign keys to quickly enable, toggle, or disable telemetry.
Simple Bind
bind "c" "cl_hud_telemetry_frametime_show 2"
bind "v" "cl_hud_telemetry_frametime_show 0"
Press C to instantly show the telemetry overlay, and V to hide it.
Toggle Bind
The toggle command lets you switch between values with one key:
bind "c" "toggle cl_hud_telemetry_frametime_show 2 0"
Pressing C will now hide or show telemetry instantly - perfect if you want a clean HUD most of the time, but need quick diagnostics.
Simple Script (toggle)
An alias script to handle toggling smoothly, especially for longer command chains:
alias "telemetry" "fps_on"
alias fps_on "cl_hud_telemetry_frametime_show 2; alias telemetry fps_off"
alias fps_off "cl_hud_telemetry_frametime_show 0; alias telemetry fps_on"
bind "c" "telemetry"
Now pressing C will toggle telemetry on and off, just like the toggle bind.
Press & Release Script
This script shows telemetry only while holding down the key:
alias +draw_stat "cl_hud_telemetry_frametime_show 2"
alias -draw_stat "cl_hud_telemetry_frametime_show 0"
bind "c" "+draw_stat"
Hold C to display telemetry, release it to hide.
For more examples, check out my full guides: Custom Telemetry Scripts in CS2 and Counter-Strike 2 Useful Scripts - Full Guide 2026
How to Read Telemetry: Make Sense of Each Number
Here’s how to read each part of CS2 Telemetry and understand whether the problem is your PC, your internet, or the server.
FPS vs Frame Time (why ms matters more than average FPS)
FPS tells you how many frames per second your PC is producing. Frame time shows how long each frame takes in milliseconds. Even if your FPS looks fine, inconsistent frame times (spikes from 5ms to 30ms) mean stutter. That’s why frame time is often a better indicator of smooth gameplay than raw FPS.
Ping and Jitter (stable vs spiky connections)
Ping is the delay to the server - the lower, the better. But a stable 40ms is far smoother than a ping that jumps between 20ms and 80ms. Those jumps are called jitter, and they can ruin aim duels even if your average ping looks normal.
Packet Loss, Missed Ticks & Misdelivery in CS2
Packet loss happens when data never makes it to the server or back to you. Missed ticks are slightly different - they’re moments when the server doesn’t deliver updates on time. Together they cause rubber-banding, ghost shots, or delayed movement. If you see these values climbing, the problem is usually your connection, router, or ISP.
Network Quality Graph (when to turn it on)
The graph visualizes spikes in ping, jitter, and packet loss over time. Most players don’t need it always visible, but it’s useful if you’re troubleshooting lag or testing a new internet setup. Red or yellow spikes usually mean instability that you’ll feel as micro-lags.
Recommended Telemetry Settings
Not everyone needs to see the full wall of numbers all the time. These profiles give you practical setups you can copy right away, depending on how you play CS2.
Minimal Always-On
Keep only FPS and ping visible at all times. This gives you a clean HUD but still shows the two stats that matter most in every match. Great for ranked or casual play when you don’t want clutter.
Show If Poor
Enable all metrics but set them to appear only when conditions are bad. If your frame time spikes or packet loss kicks in, Telemetry will pop up to warn you. Otherwise, it stays out of sight. Perfect balance between awareness and focus.
Debug Detailed
Turn everything on - frame time, ping, packet loss, jitter, missed ticks, and the full network graph. This setup is for testing new hardware, tweaking graphics settings, or troubleshooting laggy matches. It’s not pretty, but it’s the most informative.
Suggested Thresholds
- Frame Time Poor: 15-20 ms (anything above will feel stuttery)
- Ping Poor: 80-100 ms (beyond this, reactions feel delayed)
- Misdelivery Poor: >1% (packet loss noticeable)
These thresholds aren’t strict rules, but they’re safe benchmarks for competitive play.
Troubleshooting with Telemetry (Fix What You See)
The best thing about Telemetry isn’t the numbers - it’s that they actually tell you why your match feels off. Once you know how to read them, fixing the issue becomes much easier.
Fix Low FPS or Spiky Frame Time in CS2
If the frame time graph looks like a heartbeat monitor, your PC is struggling. Start by lowering heavy settings like shadows or anti-aliasing, close background apps (Discord streams, Browser tabs), and make sure your GPU drivers are current. Smooth frame time will always feel better than chasing a big FPS number.
Fix High Ping or Jitter in CS2
A stable 40ms ping is far better than one that bounces between 20 and 100ms. If your Telemetry shows spikes, plug in an Ethernet cable instead of Wi-Fi, restart your router, and pause any downloads or streams. If the problem stays, it might be your ISP or the server itself.
Fix Packet Loss and Missed Ticks in CS2
When you see packet loss or missed ticks creeping up, it explains rubber-banding or ghost bullets. Update your network drivers, close apps that hog bandwidth, and if your router supports QoS (Quality of Service), try to set CS2 to high priority.
Quick CS2 Performance Checklist
Still having issues? Run through this fast list:
- Update GPU and network drivers
- Kill heavy background apps
- Switch Windows OS to High Performance mode
- Check temps - overheating CPUs love to cause sudden frame drops
Often, one of these quick fixes is all you need to get back to smooth gameplay.
Alternatives to CS2 Telemetry for FPS and Performance Testing
Telemetry is the main tool in CS2, but it’s not the only way to check performance. You still have the classic cl_showfps command, built-in logs, and even third-party overlays if you need them.
cl_showfps 1-4 in CS2: When and Why to Use It
The command cl_showfps gives you four levels of detail:
-
cl_showfps 1-> simple FPS counterA minimal FPS counter in Counter-Strike 2 enabled by cl_showfps 1, showing only the raw frames per second -
cl_showfps 2-> FPS with smoothing and frame timecl_showfps 2 - shows detailed frame performance stats like frametime averages and fluctuation range -
cl_showfps 3-> adds server timing (tick rate, response time)cl_showfps 3 - shows server-side performance data like tick rate (TPS), average tick times, and absolute time ranges, allowing to analyze server-side input processing delays -
cl_showfps 4-> full profiling overlay with averages and a CSV logcl_showfps 4 - a performance profiling summary with FPS averages, frame timings, and a reference to the generated CSV log
If you just want to keep an eye on frames, stick with 1 or 2. For deeper analysis, 3 and 4 are more useful.
CS2 CSV Profiling Logs: Where They Save and How to Compare Runs
When you use cl_showfps 4, CS2 automatically creates a .csv file with frame time and FPS data. You can find it in your CS2 game folder under:
..\common\Counter-Strike Global Offensive\game\csgo\
Comparing these logs between maps or after changing settings is a reliable way to measure if tweaks actually improved performance.
When Third-Party FPS Overlays Make Sense in CS2
Tools like MSI Afterburner, NVIDIA GeForce Experience, or Fraps overlays can also show FPS, temps, and GPU usage. They’re great for hardware testing, but keep in mind they add extra load and can clutter your screen. For everyday play, CS2’s built-in Telemetry is usually enough. The launch option -allow_third_party_software is required here.
CS2 Telemetry Reference Tables
Here’s a quick cheat sheet with all the key commands, FPS options, and safe thresholds - perfect to bookmark and use whenever you need it.
Telemetry Console Commands
| Command | Description | Values |
|---|---|---|
cl_hud_telemetry_frametime_show |
Show FPS in the HUD | 0 = Off; 1 = Only if performance is poor; 2 = Always show |
cl_hud_telemetry_frametime_poor |
Threshold for poor frame time | 1–100ms |
cl_hud_telemetry_ping_show |
Show ping in the HUD | 0 / 1 / 2 |
cl_hud_telemetry_net_misdelivery_show |
Show missed user commands & server snapshots | 0 / 1 / 2 |
cl_hud_telemetry_net_misdelivery_poor |
Threshold for poor packet delivery anomaly rate | 0–100 |
cl_hud_telemetry_net_quality_graph_show |
Show jitter and packet loss/reordering graph | 0 / 1 / 2 |
cl_hud_telemetry_net_detailed |
Show detailed breakdown: loss, late delivery, peak jitter | 0 / 1 / 2 |
cl_hud_telemetry_serverrecvmargin_graph_show |
Show server receive margin graph (early/late commands) | 0 / 1 / 2 |
cl_showfps Levels
| Command | What it Shows | Use Case |
|---|---|---|
cl_showfps 1 |
Simple FPS counter | Quick check of current FPS |
cl_showfps 2 |
FPS + smoothing, frame time | Basic performance profiling |
cl_showfps 3 |
Adds server timing (tick rate, response) | Checking server performance |
cl_showfps 4 |
Full profiling overlay + averages, saves CSV log | Benchmarking & detailed analysis |
Suggested Thresholds
| Metric | "Poor" Value | Why it Matters |
|---|---|---|
| Frame Time | 15-20 ms+ | Above this, gameplay starts to feel stuttery even at decent FPS |
| Ping | 80-100ms+ | Delays become noticeable in aim duels and reactions |
| Misdelivery (Packet Loss) | >1% | Even small losses cause rubber-banding and ghost shots |
Conclusion
CS2 Telemetry has taken the place of the old net_graph and turned performance monitoring into something much more useful. Instead of a basic text overlay, you now get clear data on FPS, frame time, ping, packet loss, jitter, and connection quality in one built-in tool. Once you understand what these numbers mean, it becomes much easier to spot the real cause of stutters, lag, or unstable games. If you want to find the source of stutters, lag, or network issues in CS2, Telemetry is the tool to check first.
CS2 Telemetry FAQ
Does enabling Telemetry lower FPS?
No. CS2 Telemetry is built into the engine and only displays stats the game already tracks (FPS, ping, packet loss). Unlike third-party overlays such as MSI Afterburner or OBS, it doesn’t run extra processes. In practice, there’s no performance difference - at most you might lose 1-2 FPS on very weak PCs when the full graph is always enabled.
Which is more important - FPS or Frame Time?
Frame time. Even at high FPS, unstable frame times cause visible stutter.
What’s a good ping for CS2?
Anything under 50ms feels smooth. Above 80ms you’ll start noticing delays.
Why do I have packet loss but normal ping?
Ping only measures delay. Packet loss means data never arrives, which causes rubber-banding or ghost shots.
Can I make Telemetry show only when there are issues?
Yes. In settings, choose Show if poor for each metric.
Is cl_showfps better than Telemetry?
Telemetry is more detailed. cl_showfps is simpler if you only need FPS.
Can I toggle Telemetry with a single key?
Yes. Use a bind like: bind "x" "toggle cl_hud_telemetry_frametime_show 0 2".
What causes jitter in CS2?
Unstable internet - usually Wi-Fi, bad routing, or ISP issues.
Where can I find Telemetry logs?
Use cl_showfps 4 - the game saves a .csv log in your CS2 folder.
Why did Valve replace net_graph with Telemetry?
To modernize the overlay and make stats clearer for both casual and competitive players.



