Live 7 humans online 2 active servers Peak online today 16 Record 102

SoF2 com_maxfps: The Best FPS Cap and Why It Matters

Why 125 is the best com_maxfps for Soldier of Fortune II, how frame rate affects aim and netcode, and how to fix vsync and FPS stuck at 60.

Updated 3 min read Fixes and settings

On this page

Set com_maxfps 125 in Soldier of Fortune II. 125 frames per second is the standard for Quake III engine games: it divides evenly into 1000 milliseconds (8 ms a frame), so every frame is the same length and your movement, aim and network updates stay steady. The default cap is 85, which feels sluggish on a modern PC. Turn off vertical sync too, with r_swapInterval 0, so the cap and not your monitor sets the frame rate.

What com_maxfps does

com_maxfps is the highest number of frames per second the game will run. In SoF2, a “frame” is more than a picture on screen. Each frame, the game also reads your mouse and keyboard, predicts your movement, and may send a packet to the server. So the frame rate affects how the game feels, not just how smooth it looks.

A modern PC can run SoF2 at hundreds or thousands of frames per second, which is why a sensible cap matters: without one, frame times jump around and the game can feel uneven.

Why 125?

The Quake III engine measures frame time in whole milliseconds. A cap that divides evenly into 1000 gives frames of exactly the same length:

Frame rates and frame times
com_maxfps Milliseconds per frame Even frames?
85 (default) 11.8 No
100 10 Yes
125 8 Yes
200 5 Yes
250 4 Yes

125 is the value competitive Quake III engine players settled on years ago, and it’s what you’ll find in most SoF2 configs. It’s high enough to feel responsive, steady on any modern PC, and works well with the recommended network settings: at 125 FPS, cl_maxpackets 100 sends a packet on most frames. See rate, snaps and cl_maxpackets.

How to set it

  1. Open the console with ~.
  2. Set the cap: type /com_maxfps 125 and press Enter. It works immediately.
  3. Turn off vertical sync: type /r_swapInterval 0, then /vid_restart.
  4. Show the counter: type /cg_drawFPS 1 to see your frame rate on screen. If it stays at 125, you’re done.
Frame rate settings
CVARWhat it doesDefaultRecommended
com_maxfpsMaximum frames per second the engine will render.85125
r_swapIntervalVertical synchronisation (VSync). 0 = off, 1 = on.00
cg_drawFPSDisplays the current frames per second counter on screen.0—

Vertical sync and high-refresh monitors

With vertical sync on, the game waits for your monitor before drawing each frame, so the frame rate is locked to your refresh rate (60, 144, 165 Hz…) and input feels delayed. With r_swapInterval 0, the game runs at its own steady 125.

Your graphics driver can force vertical sync on whatever the game asks for. If cg_drawFPS still shows your monitor’s refresh rate, open the NVIDIA, AMD or Intel control panel and set vertical sync to “Use the application setting” or “Off” for SoF2.

On a 144 Hz or faster monitor you may see a little screen tearing at 125 FPS. Most players accept it for the steadier feel. If it bothers you, a higher even cap such as 250 reduces it.

Not reaching 125?

If the counter shows less than your cap, your PC is struggling, which is rare with SoF2 on anything made in the last fifteen years. Common causes are a laptop running on its weaker built-in graphics, power-saving mode, or heavy settings on a very old PC. See make SoF2 run faster.

If the frame rate drops only on certain maps or in big fights, try lowering r_dynamiclight and fx_countScale, which control lights and particle effects.

What a higher frame rate won’t do

  • It won’t lower your ping. Ping depends on your connection and the distance to the server.
  • It won’t make the server update faster. The server runs at its own rate and sends you snapshots at that rate, whatever your frame rate.
  • It won’t fix stuttering players. That’s almost always rate or snaps set too low, or packet loss. See the lag guide.

Save it in your config

// Frame rate
seta com_maxfps "125"
seta r_swapInterval "0"
seta cg_drawFPS "0"

Put these lines in autoexec.cfg in your base folder. Set cg_drawFPS to 1 if you want to keep the counter on screen.

Frequently asked questions

What’s the best com_maxfps for SoF2?

125. It gives perfectly even 8 ms frames, feels responsive, and is the standard value for Quake III engine games.

Why is my SoF2 frame rate stuck at 60?

Vertical sync is on. Set r_swapInterval 0, use /vid_restart, and make sure your graphics driver isn’t forcing vertical sync.

Is unlimited FPS better in SoF2?

No. An uncapped frame rate varies from moment to moment, so movement and aim feel uneven. A steady cap such as 125 is better.

Does com_maxfps need a restart?

No. It takes effect as soon as you set it. Only r_swapInterval needs /vid_restart.

Was this guide helpful?

Written and kept up to date by the SOF2MP.com community. Live numbers on this page come from our own tracking of every public SoF2 server. Spotted something out of date? Tell us on Discord.