Ate bread with chopsticks and joined Dec 18, 2011

Note: Not actually pink-haired nor an animu character

Report content 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 Apr 25 2014 says:

Nice list!

You forgot Large Address aware though

+2 votes     reply to comment
Ragnar-mantonero Oct 21 2014 replied:

i try

+2 votes     reply to comment
Guest Feb 15 2015 replied:

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

Dragaunus Dec 7 2014 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 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 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 replied:

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

+1 vote     reply to comment
BreadIsDelicious Author
BreadIsDelicious May 3 2015 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 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 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 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 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 Oct 25 2015 replied:

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

Guest Jun 16 2015 says:

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

Guest Jun 28 2015 says:

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

BreadIsDelicious Author
BreadIsDelicious Oct 8 2015 replied:

Oh, I kinda haven't checked on this comments sections since months ago.
If I had to guess, I'd tell you to check if your Soulstorm executable actually is in "E:\Program Files\THQ\Dawn Of War - Soulstorm\" instead of (for example) "E:\Games\Dawn of War Soulstorm\"
Also do keep in mind you need at least 3 cpu cores to use that core affinity setting (yes, there are tri-core cpus, they're just not as common).

+1 vote   reply to comment
Asiangamer125 Nov 14 2015 says:

I'm not quite sure why but I'm missing ole32.dll, OLEAUT32.dll, SHLWAPI.dll, NetConfig.dll,and Filesystem.dll. These were in the first tweak. I'm also missing rsss.dll for the second tweak. I have a physical copy, not the steam version. If you need more info, just ask. Thanks!

+1 vote     reply to comment
Guest Nov 23 2015 says:

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

Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Last Online
5hours 1min ago
Argentina Argentina
Become friends
Member watch
Start tracking