The net graph is the single most useful diagnostic a CS 1.6 player has. It overlays your real frame rate, ping, and the health of the connection between you and the server, and it turns vague complaints like "it feels laggy" into specific numbers you can act on. Most players turn it on and ignore it because nobody told them what the columns mean. Here is how to read every part.
1. Turn it on and pick a display level
The cvar takes three useful values:
net_graph 1 net_graph 2 net_graph 3
1— the graph plus the summary line (FPS, ping, and the traffic figures). This is the level most people want.2— adds per-frame byte sizes for incoming and outgoing packets.3— the most detailed, showing the packet timing bars. Good for diagnosing stutter.
Start with net_graph 3 when hunting a problem and drop to 1 for everyday play.
2. Read the summary line
The bottom text line is where the actionable numbers live:
- fps — your rendered frames per second. Should sit above your monitor's refresh rate. If this drops in fights, it is a performance problem — see the FPS boost guide.
- ping — round-trip latency to the server in milliseconds. Lower is better; under 50 is excellent, over 100 is felt.
- in / out — bytes per second you are receiving and sending. These confirm data is actually flowing.
3. Understand loss and choke — the two that matter most
Two figures tell you whether the connection is healthy, and people constantly confuse them:
- loss — the percentage of packets lost in transit between you and the server. Loss is a network fault: a bad Wi-Fi link, a saturated line, or a route problem. Any sustained loss above zero causes rubber-banding and missed hits.
- choke — the server wanting to send you more updates than your
rateor itssv_maxupdaterateallows, so it holds them back. Choke is a rate problem, not packet loss. It usually means yourcl_updaterateexceeds what the server can deliver, or yourrateis too low.
The distinction is practical: loss you fix by improving your connection; choke you fix by adjusting rates. See the client rates guide for choke, and note that some choke is the server's own rate cap.
4. Read the packet bars (net_graph 3)
The moving bar graph shows each recent frame. A clean connection is a flat, even line. Interpret the colors and gaps:
- Even, consistent bars mean steady frame delivery.
- Tall spikes or gaps in the line indicate stutter — a frame took too long, either to render (FPS drop) or to arrive (network hitch).
- Yellow/red segments flag choke and loss visually, so you can see a problem the instant it happens rather than reading numbers.
5. Position and size the graph
Move it out of your sightline and scale it to taste:
net_graphpos 2 net_graphheight 64
net_graphpos takes 1 (right), 2 (center) or 3 (left); use whatever does not sit under your crosshair. net_graphheight raises it off the very bottom edge so it is readable. Add these to your config.cfg so they persist.
Common errors
- Constant choke but zero loss — your rates are mismatched to the server, not a bad connection. Lower
cl_updaterateto what the server delivers or raiserate. - Loss climbing on Wi-Fi — that is a physical link problem. Use a wired connection; no cvar fixes packet loss.
- FPS number is fine but the game stutters — the packet bars show gaps: network hitching, not frames. Check ping stability and loss.
- Graph is under the crosshair — change
net_graphposand raisenet_graphheight. - Ping is low but hits do not register — high interp or choke delaying updates; check choke and lower
ex_interp.
Verification
Join a server you consider good and read the baseline:
net_graph 3
On a healthy connection you should see FPS above your refresh rate, ping matching your expected latency, and loss and choke both at or near zero. Note those values — that is your "normal". When a server later feels bad, compare against this baseline: if loss appears, it is the network; if choke appears, it is rates; if FPS drops, it is performance. The net graph does not fix anything, but it tells you exactly which guide to open next, whether that is high ping or input lag. Get in the habit of glancing at it whenever a server feels off — thirty seconds of reading the graph saves you from changing settings that were never the problem, and it is the difference between diagnosing a connection and guessing at one.









