Company of Heroes 2

Company of Heroes 2

View Stats:
Fine-Tuning COH 2 Graphics on Modern PCs
Introduction
Back in the day, I spent countless hours on the original Company of Heroes and became truly passionate about the game.

When the second part came out, I was unfortunately caught up with family matters and completely missed the release. I had little free time, and what little I had I spent on World of Tanks. However, over the years that game became toxic and overly monetized, which completely killed my interest.

So recently, for the first time in a long while, I reinstalled Steam and downloaded Company of Heroes 2. I was confident I'd enjoy catching up on what I'd missed.

But right after launching the game, I ran into a problem: the intro screen loaded, music played, the mouse cursor moved—but the menu didn’t appear. If I moved the mouse around, I could find invisible buttons. But visually, only the splash screen was shown.

This surprised me. I’m using a gaming laptop, an Asus ROG Zephyrus with 32 GB of RAM and a GeForce RTX 4070. Logically, the game should run without any issues.

As it turns out, the problem lies in the screen refresh rate: on 240 Hz monitors, COH 2 simply won’t launch. Yes, in 2025, a game from 2013 still struggles with modern hardware.

In this guide, I’ll explain how to configure Company of Heroes 2 graphics on modern systems with high-refresh-rate monitors, so you can avoid unnecessary issues and enjoy the game.

Launching COH 2 on 240 Hz Displays

The first thing you need to do to get the game running on your gaming laptop is to set specific launch parameters for COH 2 in Steam. In the game’s launch options, enter:

-refresh 144 -novsync -notriplebuffer -nomovies

-refresh 144 sets the screen refresh rate to 144 Hz (higher won't work).

-novsync disables vertical sync (important if you're using G-Sync like I do).

-notriplebuffer reduces input lag.

-nomovies skips the intro videos.

After this, the game should finally start.

Fixing Micro-Stuttering and Freezes

Once the game launched, I encountered frequent micro-stutters and lag, ruining the experience. Adjusting in-game graphics settings didn’t help. After several hours of digging through forums, I found discussions about a config file called configuration_system.lua.

Editing configuration_system.lua

Important Notes:
The first thing you need to do before editing the configuration file is to run the automatic graphics detection in the game settings. Then click "Apply".
After that, the in-game performance benchmark will become available.
Run it and wait until the cinematic ends.
Exit the game and open the file configuration_system.lua.

Why edit this file?
It offers many more options than the in-game graphics settings. My goal was to achieve smooth gameplay during intense multiplayer battles, keeping FPS above 80.

If you have an NVIDIA GPU, first install the NVIDIA App and enable the overlay. This lets you monitor CPU/GPU load, latency, and FPS.

Observe your FPS during scenes with lots of effects. If it drops below 60, it’s time to tweak configuration_system.lua.

Path to the file in Windows Explorer:

C:\Users\<YOUR_USERNAME>\Documents\My Games\Company of Heroes 2\configuration_system.lua

After extensive testing, here are my graphics settings at 1920x1200 resolution:

window = 0 # fullscreen mode
graphicsquality = 5 # overall graphics quality (max)

# Additional settings:
shadows = 2
texturedetail = 1 # reversed scale: 0 = Ultra, 1 = High, etc.
shaderquality = 2
modeldetail = 3
terraindetail = 3
ambocclquality = 2
antialiasing = 1
reflections = 1
effectsfidelity = 2
effectsdensity = 3
postprocessing = 1
modelquality = 2
modelanimationdetail = 1
snowdetail = 2
raindetail = 2
shrubsdetail = 1
physics = 3

Explanation of Each Setting:

texturedetail — Texture sharpness for surfaces, terrain, vehicles. Reversed scale: 0 = Ultra, 1 = High, etc.

shadows — Shadow quality: 0 = Off, 1 = Low, 2 = High.

shaderquality — Affects lighting, reflections, transparency. Higher = better visuals.

modeldetail — Geometric detail of units. Higher = better.

terraindetail — Terrain complexity and surface textures.

ambocclquality — Ambient occlusion, adds soft shadows for depth.

antialiasing — Edge smoothing. 0 = Off, 1 = On (typically FXAA).

reflections — Reflections on water, glass. 0 = Off, 1 = On.

effectsfidelity — Quality of effects like explosions, smoke.

effectsdensity — Amount of particles on screen. Higher = richer visuals.

postprocessing — Depth of field, blur, color correction. 0 = Off, 1 = On.

modelquality — Additional model detail.

modelanimationdetail — Animation smoothness. Lower = smoother. 0 = max smoothness.

snowdetail / raindetail — Visual quality of precipitation.

shrubsdetail — Density and clarity of foliage.

physics — Object physics quality.

Tweaking these values can help boost FPS during intense scenes. Decide what visual elements you're willing to sacrifice for a smoother experience—fewer particles, simpler physics, or reduced shadows, for example.

Important! After editing configuration_system.lua, right-click the file and set it to "Read-only", or the game will overwrite it. BUT! Before each edit, remove the read-only attribute, and reapply it afterward.

Also, be aware: Windows Notepad might accidentally save the file as .txt, breaking it. In my case, I just hit "Save" and the file remained in the correct format.

Good luck in your matches, and may you meet fewer noobs and cheaters!
Last edited by Paparazzi_Msk; Apr 5 @ 2:02am
< >
Showing 1-15 of 22 comments
i use 240mhz monitor with rtx4070 and ddr5 and use gsync , i do not need to put -novsync as mine works fine.
Originally posted by Bigfoot999:
i use 240mhz monitor with rtx4070 and ddr5 and use gsync , i do not need to put -novsync as mine works fine.

NVIDIA G-SYNC is a more advanced version of V-Sync. I don't understand why both of these features would be enabled at the same time... They will inevitably conflict with each other.

More details:

V-Sync:

Synchronizes the GPU’s frame rate with the monitor’s refresh rate.

Eliminates screen tearing but can cause input lag and stuttering if the frame rate drops below the monitor’s refresh rate.

G-SYNC:

Adaptive sync that dynamically adjusts the monitor’s refresh rate to match the GPU’s frame rate.

Eliminates screen tearing and minimizes input lag and stuttering.

Requires a special hardware module in the monitor to function.
Bigfoot999 Mar 31 @ 11:14am 
Originally posted by Paparazzi_Msk:
Originally posted by Bigfoot999:
i use 240mhz monitor with rtx4070 and ddr5 and use gsync , i do not need to put -novsync as mine works fine.

NVIDIA G-SYNC is a more advanced version of V-Sync. I don't understand why both of these features would be enabled at the same time... They will inevitably conflict with each other.

More details:

V-Sync:

Synchronizes the GPU’s frame rate with the monitor’s refresh rate.

Eliminates screen tearing but can cause input lag and stuttering if the frame rate drops below the monitor’s refresh rate.

G-SYNC:

Adaptive sync that dynamically adjusts the monitor’s refresh rate to match the GPU’s frame rate.

Eliminates screen tearing and minimizes input lag and stuttering.

Requires a special hardware module in the monitor to function.
if you do not use vsync your monitor will run full mhz ie 240 but you only see 120 and your graphics card will be working overtime .(tried it thats what happens) so leave vsync on and let gsync do its stuff NO CONFLICT.
Originally posted by Bigfoot999:
if you do not use vsync your monitor will run full mhz ie 240 but you only see 120 and your graphics card will be working overtime .(tried it thats what happens) so leave vsync on and let gsync do its stuff NO CONFLICT.

G-Sync technology synchronizes your monitor's refresh rate with the frame rate in-game.
If your monitor supports 240Hz, it doesn't mean it's always running at that frequency.
That's exactly what G-Sync is made for.
Last edited by Paparazzi_Msk; Mar 31 @ 11:54am
Originally posted by Paparazzi_Msk:
Originally posted by Bigfoot999:
i use 240mhz monitor with rtx4070 and ddr5 and use gsync , i do not need to put -novsync as mine works fine.

NVIDIA G-SYNC is a more advanced version of V-Sync. I don't understand why both of these features would be enabled at the same time... They will inevitably conflict with each other.

More details:

V-Sync:

Synchronizes the GPU’s frame rate with the monitor’s refresh rate.

Eliminates screen tearing but can cause input lag and stuttering if the frame rate drops below the monitor’s refresh rate.

G-SYNC:

Adaptive sync that dynamically adjusts the monitor’s refresh rate to match the GPU’s frame rate.

Eliminates screen tearing and minimizes input lag and stuttering.

Requires a special hardware module in the monitor to function.
regardless of what you have said this is what has just physically happened when i turned OFF VSYNC with these settingsmonitor resolution set in game at 120mhz in steam settings -refresh144 THE GAME SHOWED A FPS VARIATION OF BETWEEN 155FPS-305FPS.
Turn on vsync and it runs stable at 144mhz. end of.
Originally posted by Bigfoot999:
regardless of what you have said this is what has just physically happened when i turned OFF VSYNC with these settingsmonitor resolution set in game at 120mhz in steam settings -refresh144 THE GAME SHOWED A FPS VARIATION OF BETWEEN 155FPS-305FPS.
Turn on vsync and it runs stable at 144mhz. end of.

G-Sync doesn't control the frame rate in a game; it simply synchronizes the monitor's refresh rate. If you want to cap the maximum number of frames, it's better to do it through the global settings in the NVIDIA app. Using that application, I limited the frame rate to 144, which almost halved the load on GPU frequency and voltage (resulting in less heat).
This should be pinned
Important Notes:
The first thing you need to do before editing the configuration file is to run the automatic graphics detection in the game settings. Then click "Apply".
After that, the in-game performance benchmark will become available.
Run it and wait until the cinematic ends.
Exit the game and open the file configuration_system.lua.

Set your screen refresh rate to 120 Hz:

[Entry 7] refreshratedenominator = 100

[Entry 54] refreshratenumerator = 12000
This is some good data thanks my man. the end results are ♥♥♥♥♥♥ amazing
Last edited by TheToxicClown; Apr 9 @ 8:16am
Originally posted by MeBlobYouCry:
This is some good data thanks my man. the end results are ♥♥♥♥♥♥ amazing
Thx 😎
zaku49 Apr 9 @ 10:30am 
If you are using Nvidia's overlay, try the Sharpen+ filter. It makes the game look much sharper.
Originally posted by Paparazzi_Msk:
Originally posted by Bigfoot999:
regardless of what you have said this is what has just physically happened when i turned OFF VSYNC with these settingsmonitor resolution set in game at 120mhz in steam settings -refresh144 THE GAME SHOWED A FPS VARIATION OF BETWEEN 155FPS-305FPS.
Turn on vsync and it runs stable at 144mhz. end of.

G-Sync doesn't control the frame rate in a game; it simply synchronizes the monitor's refresh rate. If you want to cap the maximum number of frames, it's better to do it through the global settings in the NVIDIA app. Using that application, I limited the frame rate to 144, which almost halved the load on GPU frequency and voltage (resulting in less heat).
and your still an annoying idiot uninstall
Originally posted by Bigfoot999:
and your still an annoying idiot uninstall
Dude, you just embarrassingly bailed in our 2v2 game. What are you even upset about?
Originally posted by Paparazzi_Msk:
Originally posted by Bigfoot999:
and your still an annoying idiot uninstall
Dude, you just embarrassingly bailed in our 2v2 game. What are you even upset about?

37% winrate russian kid on polish registered account https://imgur.com/a/yoMYfUp
I bet via VPN, with one game on it. Playing solo Wehrmacht without success. Writting "Berlin, Germany" on his profile. But most important spamming all over the forum with nonsenses like "how to optimize 12 y.o. game". Yeah it's really an important matter, especially on 4070 with 12Gb VRAM.

Tell us about NHL you mentioned, maybe that series you play any better.

PS. "Msk" means Moskva? (MosCow). Basset, is that you? Re-login.
Last edited by Nerevarin; Apr 12 @ 4:51am
Originally posted by Wombat of Combat:
Tell us about NHL you mentioned, maybe that series you play any better.
PS. "Msk" means Moskva? (MosCow). Basset, is that you? Re-login.

Hi. Tell me, is it true that your nickname in the game is "Nerevar"? Are you in the Baltics now? Tell me a bit about yourself. Why do you hate Russians? Are you aware that Russians are the second largest group of COH2 players after the Chinese?
Last edited by Paparazzi_Msk; Apr 12 @ 1:33pm
< >
Showing 1-15 of 22 comments
Per page: 1530 50