Best Counter-Strike: Source Settings for FPS and Smooth Play
November 9, 2026 · 7 min read
On this page
- Best CS:S settings at a glance
- Video settings
- Commands that help with visibility and FPS
- Launch options
- Mouse settings
- Network settings (rates)
- Save your settings in an autoexec
- Frequently asked questions
- What are the best settings for Counter-Strike: Source?
- How do I get more FPS in CS:S?
- What should cl_updaterate and cl_cmdrate be in CS:S?
- What are good launch options for CS:S?
- Where is the CS:S config file?
- Does Counter-Strike: Source support 64-bit?
Counter-Strike: Source runs on almost any PC today, so the best settings aren't about squeezing out playable frame rates. They're about steady FPS, low input delay, a clear picture and network settings that match the server. Here are the settings worth changing, what each one does, and a ready-made config.
Last checked: November 9, 2026.
Best CS:S settings at a glance
| Setting | Recommended | Why |
|---|---|---|
| Resolution | Your monitor's native resolution | Sharpest image. The game has used native resolution by default since February 2025 |
| Display mode | Fullscreen, or the borderless window option | Borderless makes alt-tabbing easier |
| Wait for vertical sync | Off | V-Sync forces frames to wait for the monitor, which adds input delay |
| Motion blur | Off | Keeps the picture clear when you turn |
fps_max |
300 (the default) or higher | Caps your frame rate. Set it before you join a server |
m_rawinput |
1 | Reads the mouse directly |
m_filter |
0 | Turns off mouse smoothing |
m_customaccel |
0 | Keeps mouse acceleration off |
cl_updaterate / cl_cmdrate |
Match the server, usually 66 | The defaults of 20 and 30 are lower than most servers allow |
rate |
Higher than the 30000 default | Lets the server send you more data per second |
Video settings
Valve's February 18, 2025 update modernized the video options. It added a borderless window mode, UI scaling for high-resolution screens and a 64-bit version of the game, and made the game start at your native resolution instead of 640x480. It also brought over bicubic lightmaps and radial fog from the Half-Life 2 20th Anniversary Update.
Go through Options > Video and the Advanced video settings with these goals:
- Resolution and aspect ratio: Use native. Lower resolutions make the image blurry on modern flat panels, and CS:S runs fast enough on current hardware that you rarely need to drop it.
- Display mode: Fullscreen is the classic choice. The borderless window option is handy if you switch to other apps a lot.
- Wait for vertical sync: Off. This setting matches the
mat_vsynccommand, which forces each frame to wait for the monitor's refresh. - Motion blur: Off. Surf guides recommend this so fast turns stay readable, and it helps in normal rounds too.
- High dynamic range (HDR): The matching command,
mat_hdr_level, uses 0 for no HDR, 1 for LDR with bloom on HDR maps, and 2 for full HDR on HDR maps. Lower it if bright areas bother you or you need frames. - Model, texture and shader detail: Set these as high as your PC holds without FPS drops. Watch the FPS counter in busy moments, such as smoke-filled rounds, before you settle.
Commands that help with visibility and FPS
| Command | What it does |
|---|---|
cl_showfps 1 |
Shows an FPS counter. Use 2 for a smoothed reading |
net_graph 1 |
Shows FPS, ping and packet loss in one graph |
fps_max 300 |
Frame rate limit. It can't be changed while you're connected to a server |
mat_queue_mode 2 |
Turns on queued multithreaded rendering. Test it with the FPS counter |
cl_minmodels 1 |
Uses one player model for each team, so every enemy looks the same |
cl_ragdoll_physics_enable 0 |
Turns off ragdoll physics on dead bodies |
Launch options
Launch options change how the game starts. To set them in Steam:
- Right-click Counter-Strike: Source in your library and choose Properties.
- On the General tab, find the Launch Options box.
- Type the options, separated by spaces, and close the window.
Useful Source engine launch options:
| Option | What it does |
|---|---|
-novid |
Skips the Valve intro video for faster startup |
-console |
Opens the developer console when the game starts |
-w 1920 -h 1080 |
Forces a resolution (width and height in pixels) |
-freq 144 |
Forces a refresh rate in Hz |
-fullscreen |
Starts in fullscreen |
-windowed |
Starts in a window |
-noborder |
With -windowed, removes the window border for borderless fullscreen |
+exec name.cfg |
Runs a config file at startup |
-dxlevel 90 |
Forces a DirectX level. Launch once, then remove it |
A good everyday set is -novid -console. Use the in-game menu for resolution and display mode when you can, because forcing them through launch options can pick a video mode the game doesn't prefer.
Mouse settings
sensitivitysets your mouse speed. The menu slider changes the same value. Pick a number you can stick with.m_rawinput 1uses Raw Input for the mouse, reading it directly instead of going through Windows. It's off by default in CS:S, so turn it on.m_filter 0keeps mouse filtering off. Filtering averages your mouse movement over two frames, which smooths it but also delays it.m_customaccel 0keeps the game's custom mouse acceleration off, so the same hand movement always turns you the same amount.zoom_sensitivity_ratioscales your sensitivity while zoomed in with a scope. The default is 1.
Also turn off Enhance pointer precision in Windows mouse settings if you don't use raw input, since it adds acceleration.
Network settings (rates)
Rates control how much data flows between you and the server. CS:S ships with conservative client defaults, so most players should raise them.
| Command | What it does | Default |
|---|---|---|
cl_updaterate |
Updates per second you request from the server | 20 |
cl_cmdrate |
Command packets per second you send to the server | 30 |
rate |
Maximum bytes per second you can receive | 30000 |
cl_interp_ratio |
Interpolation amount. The final delay is cl_interp_ratio divided by cl_updaterate |
2 |
cl_interp |
Manual interpolation. Leave it at 0 so the ratio decides | 0 |
How to set them:
- Match the server's tickrate. A default server caps both
cl_updaterateandcl_cmdrateat 66 throughsv_maxupdaterateandsv_maxcmdrate, so use 66 for normal servers. Many surf and bhop servers advertise 100 tick in their names, and a few advertise 128. Use 100 on those, which is the highest valuecl_cmdrateaccepts. The server won't send more updates than its own limit. - Raise
rate. The 30000 default can limit busy servers. Servers set their own limits withsv_minrateandsv_maxrate, andsv_maxrate 0means no limit, so a value such as 80000 or higher is reasonable on a modern connection. - Keep
cl_interp_ratioat 2 unless your connection is clean. At 66 updates per second, a ratio of 2 adds about 30 ms of interpolation, and a ratio of 1 about 15 ms. Lower shows players closer to where they really are, but packet loss makes them jitter.
Check the result with net_graph 1 while you play. You can find servers and their tickrates in our CS:S server finder.
Save your settings in an autoexec
Menu changes are stored in config.cfg, in the cstrike/cfg folder inside the game's install folder. To find it, right-click the game in Steam, choose Manage, then Browse local files.
To keep your own settings no matter what, create a file called autoexec.cfg in that same cfg folder. The game runs it automatically every time it starts. A starting point:
// cstrike/cfg/autoexec.cfg
fps_max 300
m_rawinput 1
m_filter 0
m_customaccel 0
cl_updaterate 66
cl_cmdrate 66
cl_interp 0
cl_interp_ratio 2
rate 80000
Change the two 66 values to 100 if you mostly play on 100-tick servers. To save whatever you've set in the console back to config.cfg, type host_writeconfig. For more commands and binds, see our CS:S console commands guide.
Frequently asked questions
What are the best settings for Counter-Strike: Source?
Play at native resolution with V-Sync and motion blur off, turn on raw input with m_rawinput 1, and turn off mouse filtering and acceleration. Then set cl_updaterate and cl_cmdrate to match the server's tickrate, usually 66, and raise rate above its default.
How do I get more FPS in CS:S?
Turn off V-Sync, lower shader, shadow and model detail, and try mat_queue_mode 2 for multithreaded rendering. Check fps_max, which defaults to 300, and use cl_showfps 1 to compare settings in busy rounds.
What should cl_updaterate and cl_cmdrate be in CS:S?
Set both to the server's tickrate. That's 66 on most servers, because a default server caps both at 66, and 100 on servers that advertise 100 or 128 tick. The game's own defaults of 20 and 30 are lower than most servers allow.
What are good launch options for CS:S?
-novid -console is a good everyday set. It skips the intro video and opens the console at startup. Add -w and -h only if the game won't pick the right resolution on its own.
Where is the CS:S config file?
Your settings are saved in config.cfg, in the cstrike/cfg folder of the game's install folder. Use Steam's Browse local files option to open it, and put your own commands in an autoexec.cfg in the same folder.
Does Counter-Strike: Source support 64-bit?
Yes. Since the February 18, 2025 update, CS:S starts its 64-bit version automatically on a 64-bit operating system. The same update added a borderless window option and UI scaling.