Counter-Strike 1.6 at 100 FPS next to Counter-Strike 2 at 300+ FPS on a high refresh rate monitor

FPS vs Refresh Rate in CS2 and CS 1.6

What FPS and Hz really change, whether FPS above your refresh rate helps, the right fps_max for each game, -freq and refresh rate settings, V-Sync and G-Sync

Players compare FPS, Hz, input lag and smoothness all the time, and very often mix them up. FPS and refresh rate are connected, but they are not the same thing, and in Counter-Strike 2 and CS 1.6 they work in very different ways.

In this guide I explain what each one does, why 300 FPS on a 144 Hz monitor still makes sense in CS2 but 300 FPS in CS 1.6 doesn't, how to set the refresh rate in both games, what fps_max to use, and when V-Sync, G-Sync and FreeSync are worth it. All of it from my own setups plus what Valve itself says.

FPS vs Refresh Rate: What's the Difference

FPS (frames per second)
How many frames your PC renders each second. It depends on your CPU, GPU and game settings.
Refresh rate (Hz)
How many times per second your monitor updates the picture. It's fixed by the monitor: 60, 144, 240, 360 Hz and so on.

A 60 Hz screen shows 60 pictures per second, even if your GPU renders 300 frames. A 240 Hz screen can show four times more. So the monitor sets how smooth motion can look, and FPS sets how fresh each picture is when the monitor grabs it.

It's easier to think in milliseconds. This is how long one refresh and one frame take:

Refresh rate One refresh FPS One frame
60 Hz 16.7 ms 100 FPS 10.0 ms
144 Hz 6.9 ms 200 FPS 5.0 ms
165 Hz 6.1 ms 300 FPS 3.3 ms
240 Hz 4.2 ms 400 FPS 2.5 ms
360 Hz 2.8 ms 500 FPS 2.0 ms
540 Hz 1.9 ms 600 FPS 1.7 ms

Going from 60 to 144 Hz saves almost 10 ms per refresh, you feel that at once. Going from 240 to 360 Hz saves about 1.4 ms. Still noticeable for a trained eye, but the gains get smaller every step up.

Does FPS Higher Than Refresh Rate Help in CS2?

Yes, in CS2 it does, but not because you see more frames. You don't: a 144 Hz monitor still shows 144 pictures. What changes is how old each picture is. At 400 FPS a new frame is ready every 2.5 ms, so when the monitor refreshes, it shows a frame that is at most 2.5 ms old. At 144 FPS it can be almost 7 ms old. Your mouse movement gets to the screen sooner, and aiming feels more direct.

The cost is screen tearing: without sync, the monitor can show parts of two frames at once. At very high FPS tears are small and many players don't even notice them. If they bother you, see the sync section.

So in CS2 the usual goal is FPS clearly above your refresh rate and, more important, stable. A steady 300 feels better than 500 that drops to 150 in every smoke. In CS 1.6 the logic is different, and that's next.

How FPS Works in CS 1.6 vs CS2

GoldSrc (CS 1.6): FPS Is Tied to Physics

The old GoldSrc engine ties the game's simulation to the frame rate. Movement, jumps, recoil and even grenade bounces depend on how many frames are rendered per second. That's why CS 1.6 should stay around 100 FPS: the simulation was built for it. Valve's own developer wiki notes that GoldSrc gets timing problems above about 100 FPS.

Many players still use fps_max 101, but that's more tradition than a real setting. People copied it from early pro configs without knowing why it was there. The engine runs at about 100.5 FPS internally and gets nothing from "101". The value 100 fits the engine's timing, and it's the default in the Steam version.

Much higher values break things. You feel it after any jump: CS 1.6 has a short recovery time (roughly a tenth of a second) before your next movement. At very high FPS this recovery scales wrong, and you get sluggish post-jump movement and inconsistent physics.

Source 2 (CS2): More FPS, Less Delay

CS2 separates rendering from the server simulation. The server runs at 64 ticks, and with sub-tick it gets the exact moment of your shot or movement between ticks. Your FPS doesn't change the physics, but it changes how fast the game reads your input and shows the result. More frames, less delay between your hand and the screen.

So CS 1.6 needs a steady 100 FPS (120 at most if you want a slightly cleaner picture), while CS2 keeps getting more responsive as FPS goes up, with smaller gains at the top.

How to Set Refresh Rate in CS2 and CS 1.6 (-freq, -refresh)

Windows First

Both games start from what Windows has set, so check it first: Settings → System → Display → Advanced display → Choose a refresh rate. If you have more than one monitor, select the right one at the top. Windows likes to fall back to 60 Hz after driver updates or a new cable.

Windows 11 Advanced display settings with an ASUS VG279QM at 239.76 Hz
Windows 11 Advanced display: the VG279QM at 239.76 Hz

CS2: Video Settings, Not Launch Options

In CS2 the refresh rate is a normal setting: Settings → Video → Refresh Rate, next to the resolution. The game saves it in cs2_video.txt. It works like this:

  • In Fullscreen CS2 uses the refresh rate you pick in its own menu.
  • In Fullscreen Windowed and Windowed it uses the one from Windows, as Valve writes in its video settings recommendations .

If your monitor has a faster mode than the one CS2 is running at, the game shows a Settings Recommendation popup: "It looks like your display has a 240 Hz mode but it's currently running at 120 Hz". The same popup tells you when your monitor supports G-Sync but it's off.

CS2 Settings Recommendation popup suggesting to switch from 120 Hz to 240 Hz
CS2 Settings Recommendation: 240 Hz mode available, running at 120 Hz

What about launch options? -refresh and -refreshrate come from the old Source engine, and in my tests they do nothing in CS2. Valve's developer wiki lists -freq for CS2, but marks it as unconfirmed. Either way, the menu setting is the reliable way. More about what still works in CS2 launch options.

CS 1.6: -freq

CS 1.6 also uses the Windows refresh rate by default. You can force another one with the -freq launch option. Valve describes it as forcing a specific refresh rate in fullscreen, only if your monitor supports that frequency.

Steam Counter-Strike 1.6 launch options with -freq 100
CS 1.6 launch options with -freq 100

For example, with a 240 Hz monitor and -freq 100 the game will try to run the monitor at 100 Hz. In practice high refresh monitors (120, 144, 240+) work fine with fps_max 100, and forcing a lower refresh rate doesn't improve anything. It can even bring micro stutters and frame pacing issues. Use -freq only if you have a specific reason to test something.

Best fps_max for CS2 and CS 1.6

CS2

The default in CS2 is fps_max 400. Unlike CS 1.6, 0 here means no cap at all. If your PC can do more than 400, I usually leave it uncapped:

fps_max 0
fps_max_ui 120

fps_max_ui limits FPS in the menus (default 200), a lower value just keeps your GPU cooler while you're in the main menu.

If your frame rate jumps a lot, set fps_max a bit below what your PC holds in heavy moments. For example, if FPS goes between 120 and 250, try fps_max 150 and see if it feels smoother. If you use G-Sync with V-Sync and NVIDIA Reflex, no cap is needed, Reflex keeps FPS just under the refresh rate by itself.

CS 1.6

For the classic engine stability is everything. A clean setup:

fps_override "0"     // developer "0" for non-Steam client
fps_max "100"

Many guides mix rates into FPS tweaks. They're related only indirectly: FPS is rendering, rates are how often data goes to and from the server. My usual values for a good connection:

rate 25000
cl_cmdrate "101"
cl_updaterate "102"
ex_interp "0.01"  // for ping under 10; for 20+ use 0.03-0.04, etc

If your ping is too high (for example 140 ms), you can bring it down to about 90 by limiting the rates:

rate 5000
cl_cmdrate "28"
cl_updaterate "30"
ex_interp "0.09"

Just don't cap FPS to 30, that only makes things worse. And if the game really runs at 30 FPS, you can't send 100 updates per second anyway, because commands go out with rendered frames. The real fix then is getting FPS back to 100, not lowering rates. More on interpolation in my ex_interp guide and on reading the network in CS 1.6 net_graph.

CS 1.6 vs CS2: FPS Settings

Game Engine fps_max Monitor Notes
CS 1.6 GoldSrc 100 60+ Hz Physics tied to FPS, higher values break movement
CS2 Source 2 0, or a stable cap above your Hz 144+ Hz Default 400, more FPS means less input delay

Should You Use V-Sync, G-Sync or FreeSync in CS2?

V-Sync

V-Sync makes the game wait for the monitor before showing a frame. Tearing is gone, but while the game waits it doesn't read your mouse, so input lag goes up. On its own, without G-Sync and Reflex, I keep it off in every Counter-Strike. In CS 1.6 especially, every millisecond is felt.

G-Sync and FreeSync

These adaptive sync technologies from NVIDIA and AMD change the monitor's refresh rate to match your FPS, so there's no tearing and almost no extra lag. They work while FPS is below the monitor's maximum, which is exactly where CS2 can drop in smokes, molotovs or big fights.

NVIDIA Control Panel Set up G-SYNC page with multiple monitors
Set up G-SYNC in NVIDIA Control Panel

What Valve Recommends

Valve's own advice for CS2 is G-Sync (or FreeSync) together with V-Sync and NVIDIA Reflex. In this combination Reflex keeps FPS slightly below the refresh rate, G-Sync handles the rest, and you get a smooth picture with low input lag. CS2 even suggests this with a popup when it sees G-Sync without the other two. On AMD cards the in-game option is AMD Anti-Lag 2.0. The full setup is in how to fix FPS drops and stuttering in CS2.

My Real CS2 Examples

My current PC runs CS2 at a steady 400+ FPS on a 240 Hz monitor. Here the monitor can't adapt to such high FPS, so G-Sync has nothing to do, and I play without it: V-Sync off, Reflex on.

When I use the same 240 Hz monitor on an older PC with a GTX 1060 3 GB that runs about 170 (±30) FPS, G-Sync makes a clear difference. Honestly, I never saw obvious drops or tearing there before, but with G-Sync the game felt smoother and easier.

My Recommendation

  • CS 1.6: no sync at all, the engine is too old to get anything from it.
  • CS2, FPS often below your Hz: turn on G-Sync or FreeSync, and try Valve's G-Sync + V-Sync + Reflex setup.
  • CS2, FPS always well above your Hz: V-Sync off, Reflex on, G-Sync makes little difference.

Test both ways on your own PC, the difference is in how the mouse feels, not in a number.

FPS and Refresh Rate Myths in Counter-Strike

Counter-Strike 1.6 illustration about FPS and performance myths on a gaming monitor
Old FPS "wisdom" that still gets copied

More than 101 FPS gives you an advantage in CS 1.6

False GoldSrc runs at about 100.5 FPS internally. Going higher doesn't make you move faster or aim better, it breaks movement physics and can cause desync on servers.

More FPS than your Hz is wasted in CS2

False You don't see the extra frames, but each picture the monitor shows is newer, so input delay is lower.

V-Sync always ruins input lag

Partly V-Sync alone adds lag, that's true. Together with G-Sync and NVIDIA Reflex Valve calls it the smoothest low latency setup for CS2.

Higher FPS improves accuracy

Partly Higher FPS lowers input delay and makes aiming feel tighter, but it doesn't change spread or recoil. Your shots feel cleaner because the game reacts faster.

Capping FPS always costs performance

False In CS2 a cap a bit below what your PC holds can smooth out frame pacing on weaker systems. On a strong PC fps_max 0 gives the lowest delay.

G-Sync and FreeSync add input lag

False They remove tearing without the waiting that V-Sync alone brings. Set up properly, the extra delay is close to nothing.

Conclusion

FPS and refresh rate don't work the same in every Counter-Strike. In CS 1.6 a stable 100 FPS matters because GoldSrc ties movement and physics to frame rate. In CS2 more FPS means less delay, and the best result is a high, steady frame rate on the fastest refresh rate your monitor has, with sync settings that fit your PC.

Once you know how FPS, Hz, frame pacing and sync work together, you can pick the right setup for your hardware instead of copying random values from old configs.

FPS and Refresh Rate FAQ

Is FPS the same as refresh rate?

No. FPS is how many frames your PC renders, refresh rate is how many times your monitor updates the picture each second.

Is it good to have FPS higher than refresh rate in CS2?

Yes. You don't see more frames, but each one the monitor shows is newer, so input delay is lower. Keep it stable, not just high.

Does a 360 Hz monitor help in CS2?

Yes, if your PC holds 360+ FPS. Motion looks smoother and you see movement a bit earlier. The jump from 60 or 144 Hz is much bigger than from 240 to 360.

Should I limit FPS in CS2?

Only if your frame rate jumps a lot or your GPU sits at 100% all the time. Otherwise use fps_max 0. With G-Sync, V-Sync and Reflex no cap is needed.

Why is FPS capped at 100 in CS 1.6?

Because GoldSrc ties physics to frame rate. The simulation works correctly around 100 FPS, higher breaks movement, jump timing and grenade physics.

Is there any reason to use fps_max 101 in CS 1.6?

Not really. It's a tradition from old pro configs. The engine runs at about 100.5 FPS internally and gets nothing from "101".

Should I use fps_override 1 (developer 1) in CS 1.6?

Yes and no. If you want a slightly cleaner picture, you can set fps_override 1 and fps_max 120, then test movement, jumps and grenades against fps_max 100. I don't recommend it: the difference is small and the game can feel less consistent.

Does refresh rate affect gameplay in CS 1.6?

Only visually. The game can't simulate more than about 100 FPS, so a 240 Hz monitor looks a bit smoother but doesn't change physics or reaction timing.

Do -freq or -refresh work in CS2?

Set the refresh rate in Settings → Video → Refresh Rate instead. -refresh and -refreshrate are old Source options, and -freq for CS2 is not confirmed even on Valve's wiki. In CS 1.6 -freq works in fullscreen.

Can high FPS improve hit registration?

Indirectly. Higher FPS lowers input delay, so your shots go out sooner, but the hit itself is still calculated by the server and depends on your connection.

More CS2 Guides

Leave a Reply

Your email address will not be published. Required fields are marked *