Excogitatoris-Logica

nAmEfIeLdMaYnOtCoNtAinCoMmAsOrSpAcEs joined

China delenda est

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

Posted by on

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 NTCore.com. 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 NTCore.com. 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). Mediafire.com 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 - - 8,387 comments

Nice list!

You forgot Large Address aware though Techpowerup.com

Reply Good karma Bad karma+1 vote
Guest
Guest - - 689,511 comments

Actually, the step described in 2) does the same as LAA

Reply Good karma Bad karma+2 votes
Blindwolfx
Blindwolfx - - 20 comments

GET ******* REKT

Reply Good karma Bad karma+2 votes
Dragaunus
Dragaunus - - 1 comments

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

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica - - 2,755 comments

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.

Reply Good karma+1 vote
TheNotSoGamer
TheNotSoGamer - - 4 comments

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

Reply Good karma Bad karma+1 vote
TheNotSoGamer
TheNotSoGamer - - 4 comments

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

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica - - 2,755 comments

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 :)

Reply Good karma+1 vote
deleted10101
deleted10101 - - 7,265 comments

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?

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica - - 2,755 comments

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.

Reply Good karma+1 vote
Bacl
Bacl - - 31 comments

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?

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica - - 2,755 comments

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.

Reply Good karma+1 vote
Guest
Guest - - 689,511 comments

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

HermaMora
HermaMora - - 1 comments

i moved it to the soulstorm directory and i also started the game as admin with compatibility mode XP sp3 but i still get the ctd when i try to start a match with 8 fractions. Any other idea how to fix this?

Reply Good karma Bad karma+1 vote
Guest
Guest - - 689,511 comments

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

Guest
Guest - - 689,511 comments

Greats tricks !
I now can play large battles again without crashing in less than 10min.

But i have troubles wih the third one; i can't seem to get the path right the winfolder is on C: and SS on E: so i type;

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

I feel like i've made a silly mistake but i can't perceive it.
Little help please ?


Reply Good karma Bad karma0 votes
Excogitatoris-Logica Author
Excogitatoris-Logica - - 2,755 comments

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).

Reply Good karma+1 vote
Asiangamer125
Asiangamer125 - - 11 comments

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!

Reply Good karma Bad karma+3 votes
Guest
Guest - - 689,511 comments

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

DoMiNaNt_HuNtEr
DoMiNaNt_HuNtEr - - 551 comments

PICTURES ARE MISSING

Reply Good karma Bad karma+1 vote
chutoy63
chutoy63 - - 2 comments

dont think this works with the new update where they ditched nt core because i cant see my friends game now

Reply Good karma Bad karma+1 vote
Balgias
Balgias - - 48 comments

There is no box that says " CLICK HERE " in the file header on cff explorer, wtf is this guide.

Reply Good karma Bad karma+1 vote
Balgias
Balgias - - 48 comments

Ohh THERE it is, it was barely visible with my windows UI settings.,

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: