Warhammer 40,000: Dawn of War - Definitive Edition

Warhammer 40,000: Dawn of War - Definitive Edition

26 ratings
FPS Drops Caused by Shadows - FIX
By Barto
Hello Everyone,

This guide is mostly aimed at AMD CPU users. If you own an Intel CPU, please let me know if it works for you as well. :)

As some of you have probably noticed, enabling shadows in Dawn of War: Definitive Edition can cause noticeable FPS drops, even if your system is more than capable of running the game smoothly.

We can fix this by using DXVK — “a Vulkan-based translation layer for Direct3D 8-11 games” (source: pcgamingwiki.com).
However, simply implementing DXVK won’t make a big difference. We also need to force the game to utilize all CPU cores to improve overall performance.

For this purpose, we will use **dxvk-gplasync** — a special version of DXVK that helps eliminate shader compilation stutter caused by the Vulkan implementation.

**Disclaimer:** This solution is still being tested. Please share your feedback and results — it’s much appreciated.

---

### 1. Download dxvk-gplasync
Link:
https://gitlab.com/Ph42oN/dxvk-gplasync/-/blob/main/releases/dxvk-gplasync-v2.7-1.tar.gz?ref_type=heads
*(2.7-1 is the latest version at the time of writing)*

---

### 2. Install DXVK
- Unpack the archive.
- Copy the contents of the `x64` folder into the game’s main directory.
Example: `F:\STEAM\steamapps\common\Dawn of War Definitive Edition`

---

### 3. Create a DXVK configuration file
- In the game’s main directory, create a file called **dxvk.conf**.
- Open it in Notepad and paste the following lines:

dxvk.enableAsync = true
dxvk.useRawSsbo = true
dxvk.asyncPresent = true


These commands enable asynchronous pipeline compilation and reduce stutter from shader compilation.

Save the file in the game’s main directory.

---

### 4. Create a startup BAT file to force CPU core usage
- In the game’s main directory, create a text file called **Start_W40k.txt**.
- Paste the following lines into it:

@echo off
set DXVK_NUM_THREADS=8
start "" "F:\STEAM\steamapps\common\Dawn of War Definitive Edition\W40k.exe"

**Notes:**
- Replace `8` with the number of **CPU threads**, not physical cores.
(For example, an 8-core/16-thread CPU should use `16`.)
- Replace the path with your actual game directory.

- Save the file and rename it from `.txt` to `.bat`.

From now on, **always start the game using this BAT file**, not through Steam directly.

---

### 5. Run the game
Launch the `.bat` file you just created.
You should now experience much smoother gameplay, even with shadows enabled.

---

**Extra tip:**
If you still get minor stutter, try setting the `.bat` file to run as Administrator and enabling Windows "High Performance" power plan.
2
   
Award
Favorite
Favorited
Unfavorite
24 Comments
Druark 21 Aug @ 5:14am 
@Raysel
No, DXVK should work fine with AMD, just not all hardware configs see a noticeable benefit.
Raysel 20 Aug @ 4:56pm 
So... AMD needs to patch this in order to work properly or..?
Druark 20 Aug @ 10:52am 
@Kolgerlar
It will perform worse until it's generated shaders for the first time, but DXVK isn't primarily made for Windows usage so it won't improve performance for every hardware config sadly. If it makes it worse for your setup, remove/rename the d3d9.dll to disable it.
You do not need the .bat file launch option btw, just the d3d9.dll and dxvk.conf.
Your RAM shouldn't be causing major bottlenecks as this is quite an old game, back then we had 1600MHz or worse.
Kolgerlar 20 Aug @ 10:26am 
@John Hayabusa Tried doing what you said for the launch options as well what you referenced from Druark and it seems like it performs worse

PC Specs:
RTX 3060
i5-12600KF
32gb ram at 3200mhz (feel like it's the biggest bottleneck of my system)
John Hayabusa 17 Aug @ 12:55pm 
@samßo @Barto You can start the game normally via Steam, if you add "path to startbat" %command% to your launch options. E.g.: "C:\Steam\steamapps\common\Dawn of War Definitive Edition\Startthegame.bat" %command%
Works generally for any game where you want to add a .bat file or a different .exe (for mods etc)
That said, Druark is right and you only need to copy the d3d9.dll and the dxvk.conf with 'dxvk.enableAsync = true' and that's it.
Ω Yukich 17 Aug @ 11:58am 
Glad to help
sicluv 17 Aug @ 11:17am 
I forgot to add, as @Yukich mentioned, i installed the 2.62v of DXVK
sicluv 17 Aug @ 11:13am 
Completely fixed my issue, now i can play with everything in high, 60 FPS stable, thanks dude

(i have an RX 6600 with Ryzen 5 5600G)
Ω Yukich 17 Aug @ 9:51am 
So I tinkered around with DXVK and came to conclusion that for some reason 2.7 version of this soft just doesnt work on my machine
2.62 version works tho
And yes, even with shadows - it works absolutely amazing
BUT
There's one BUT
It does not work with Unification Mod because appearently, it enables back RAM limit lmao
samβo 16 Aug @ 9:17pm 
Is it possible to run the game via Steam using command line options? Eg. force the set DXVK_NUM_THREADS command in the launch options?