Ate bread with chopsticks and joined Dec 18, 2011

Note: Not actually pink-haired nor an animu character

Report article RSS Feed How to improve performance on Dawn Of War - Soulstorm

Posted by BreadIsDelicious on Apr 23rd, 2014

Below there's a compilation of all the knowledge I've gathered on my quest to get half decent framerates on modded Dawn of War, all nice and tidy in one place. Enjoy

1) Improving Loading Times:

We're well aware of how very slowly Soulstorm loads. Everything from starting, loading a skirmish, clicking the Campaign option in the Main Menu and it taking 2 minutes on a high end system...
This tweak addresses precisely that.
The actual improvement varies a lot from system to system, so I can't efficiently guarantee you'll get say, 3x faster loading times. Yet very large loading speed improvements are possible (I do get 3x faster loading speed for example). Also worth noting the 2nd time you launch Soulstorm it loads much faster.

If you have Soulstorm on Steam, you can skip this particular tweak. On my tests, Build 379 (updated via Steam) loads pretty fast, I couldn't find a way to make it load even faster yet.

-Windows Vista/7/8 users: If you have Soulstorm installed on the default directory (Program Files in the C drive) and UAC enabled, you won't be able to modify the game executable. To overcome this either:
A) Disable UAC.
B) Make a copy of your Soulstorm executable and place it somewhere UAC won't get in the way (a folder in your desktop for example). Make the changes on the copy and then replace the original with the tweaked one.
C) Run the CFF Explorer as Administrator.

The tweak itself:
- Download the Explorer suite from Install it.
- Right click your Soulstorm.exe and select "Open with CFF Explorer"
- You will see a big window full of good ol' number-y crypticness. Don't panic :). On the left panel, left click "Import Directory".
- The section at the right of the window should change to different number-y crypticness. Fortunately all we need is on the column that says "Module Name". I advice stretching the window until you can see all entries at the same time.
- Then, right-click on .dll names and select "Move Up" or "Move Down" to re-order the list so it looks like on this picture.
- Save changes, and that's it! Faster loading times!

2) CTD (Crash To Desktop) Prevention:

This is a quick one, and spares you a lot of interrupted epic battles.
The tweak itself:
- Download the Explorer suite from Install it.
- Right click your Soulstorm.exe and select "Open with CFF Explorer".
- On the left panel, select "Nt Headers" (click the + symbol), you should see "File Header".
- Then left-click File Header and in it, there is a box that says "Click Here". Let's do that.
- You will get a little window full of checkboxes. There's one that says: App can handle >2Gb Address space. Mark that one.
- Click OK, save the changes and... Done! Your Soulstorm.exe will no longer run out of memory!
To apply this on Steam installs, simply save the executable with a different name (remember to keep ".exe" at the end of the file name to save it correctly) and run the modified executable.
Steam in-game overlay and Friends In-Game status retain their functions, too.
- To be extra sure, repeat this process with rsss.dll (located in the Soulstorm directory). This one can also run out of memory and cause crashes the same way as the game executable. This dll isn't present on the Steam version as of the latest patch.

3) (slight) Performance Boost! (a little bit) better framerates!:

Important note!: This requires at least 3 cpu cores to work. It will not make any improvement on systems with dual or single core cpu's.

Make a shortcut to your game executable. Right click it and select Properties.
On the Shortcut tab, edit its Target field and add the following before the existing path between quotes and separating it with a space:

%windir%\system32\cmd.exe /c start "DoW" /high /affinity 6

While on it, also add this after the path, also separated with a space:

-nomovies -modname %Your_Favorite_Mod_Folder_Name%

So if when you first saw it it looked like this:

"C:\Program Files\THQ\Dawn Of War - Soulstorm\Soulstorm.exe"

Now it would look like this:

%windir%\system32\cmd.exe /c start "DoW" /high /affinity 6 "C:\Program Files\THQ\Dawn Of War - Soulstorm\Soulstorm.exe" -nomovies -modname %Your_Favorite_Mod_Folder_Name%

Click OK. That shortcut now launches a specific mod bypassing the intro movies, setting the Soulstorm executable on high system resource priority and set to not work on CPU core 1. As most applications load on the first core by default this core is busier and has less free cycles to run cpu intensive apps (such as DoW). By avoiding running DoW on the busier Core 1 altogether you can get a slight performance boost.
For example, if you want to make a shortcut with all that code to the vanilla game which also has a "mod name", 'DXP2':

%windir%\system32\cmd.exe /c start "DoW" /high /affinity 6 "C:\Program Files\THQ\Dawn Of War - Soulstorm\Soulstorm.exe" -nomovies -modname dxp2

4) Misc Tweaks & Fixes:

- Right click your Soulstorm executable. On the Compatibility tab, select Windows XP SP3. Click Apply. This helps with performance and stability by a tiny bit.
- If on Windows Vista/7 (8 unconfirmed), on that same Compatibility tab, check the "Disable desktop composition" checkbox. This will disable the transparency When Soulstorm is running and prevent it from freezing when alt-tabbing. Works partially on the latest Steam version update. I'm looking into it.
- Install Visual Basic Runtime. This runtime prevents a rather nasty bug that appears every now and then and makes the game unplayable (very bad performance, models render incorrectly, etc). I would link you to the Microsoft download page but they keep moving it around and I can no longer find it. Plus I don't want to re-link to it every time they move it again.
If running WIndows Vista/7/8, run in compatibility mode for Windows XP SP2.

That's all folks! I will add more if I encounter more tweaks or I happen to have forgotten some.

Post comment Comments
Sakura Matou
Sakura Matou Apr 25 2014, 6:07am says:

Nice list!

You forgot Large Address aware though

+2 votes     reply to comment
Ragnar-mantonero Oct 21 2014, 7:24am replied:

i try

+2 votes     reply to comment
Guest Feb 15 2015, 7:36am replied:

This comment is currently awaiting admin approval, join now to view.

Dragaunus Dec 7 2014, 2:17pm says:

Is this something I could do with all my vanilla or MODed games, not just Dawn of War?

How would I assign the launch options for:
A) XYZ Vanilla Game
B) XYZ Vanilla Game + XYZ MOD

+1 vote     reply to comment
BreadIsDelicious Author
BreadIsDelicious Feb 6 2015, 12:16pm replied:

Aaaaaand ModDB doesn't notify me of comments here.
Most games have shortcut commands, but they're not all the same. So for your shortcut commands to work, you'll have to look up the exact code to input in the shortcut target field.
But for a short answer: Yes, should work with most games given you input the correct launch options.

+1 vote   reply to comment
TheNotSoGamer Mar 3 2015, 5:44pm replied:

I did this account for the purpose of asking: Does this work with Dark Crusade?

+1 vote     reply to comment
TheNotSoGamer Mar 3 2015, 6:03pm replied:

PS: No Mods for Soulstorm, only planning for Dark Crusade

+1 vote     reply to comment
BreadIsDelicious Author
BreadIsDelicious May 3 2015, 3:16pm replied:

Oh. Dang, so sorry, ModDB doesn't notify users of comments... pretty much anywhere.
Yes, everything in this guide works on Dark Crusade as well. The .dll import list for Dark Crusade is slightly different iirc, but you can simply re-order it so it looks the closest possible and you'll get good results as well.
Also sent you PM, just to be sure :)

+1 vote   reply to comment
AnYnA May 23 2015, 12:00pm says:

Silly question if you don't mind.
If I replace the number of the cores in your tweak from 6 to 12 or 8 ( I have an i7 hexacore ) will the game work on more cores or does it have to be just number 6 there?

+1 vote     reply to comment
BreadIsDelicious Author
BreadIsDelicious May 31 2015, 5:17pm replied:

Soulstorm 1.20 only uses 1 core, regardless of your hardware or tweaks done to it. However I've noticed a loss in performance if restricting it to "just" one core, so I left it one two.

+1 vote   reply to comment
Bacl Jun 7 2015, 2:26pm says:

I try the memory trick to avoid crashes and on the non steam tweak, when i try to save it says " Cannot overwrite original file. Save with another name?"

Should i change the naor the rick didnt work?

+1 vote     reply to comment
BreadIsDelicious Author
BreadIsDelicious Jun 7 2015, 7:56pm replied:

You can save the executable with another name (and then run the game from that differently-named executable, too), no problem.
However, you most likely will not be able to save your renamed executable in the Soulstorm folder because of Microsoft's idea of system security.
Either save the executable elsewhere and then move it to your Soulstorm directory, or start the CFF Explorer as Administrator.

+1 vote   reply to comment
Guest Jun 16 2015, 11:20pm says:

This comment is currently awaiting admin approval, join now to view.

Guest Jun 28 2015, 5:26am says:

This comment is currently awaiting admin approval, join now to view.

Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Offline Since
Jul 3, 2015
Argentina Argentina
Member Watch
Track this member
Report Abuse
Report article