The purview of this tutorial is to help SC4 players get the best performance out the game. If you're having random CTD or freezing issues, chances are good these methods will resolve this. I've been playing with more than 7 gigs of mods for years now and never experience CTDs or freezing (except when I know it was caused by a mod/other issue). Following this guide and doing all steps should get your game running on the same level as mine.
1. Shortcut / Launch Parameters
For steam users, adding launch parameters is as easy as "Right Click->Properties->Set Launch Options" in the steam application. For non-steam users, find or make a shortcut to the main SimCity4.exe and keep it somewhere easily accessed, as you'll be using that shortcut to launch the game from now on.
There are a lot of launch parameters out there, but there are only a handful that we need to use. The typical launch parameters used are as follows:
-CustomResolution:enabled -r1920x1080x32 -CPUCount:1 -EH:off -Intro:off
A breakdown of each paramter:
- -CustomResolution:enabled - Enables the game to use a custom resolution. Only needed if you want to play in a resolution not available in-game.
- -r1920x1080x32 - Window width, height, and color-depth, respectively. Change the numbers to fit the resolution you want to use.
- -CPUCount:1 - This is the most important out of all parameters! SC4 was created in a time when multi-core processors were just becoming used and somewhat affordable. It was released with the intention of only running on single-core systems. As such, most CTDs are caused by the game not properly allocating data among the cores. Forcing the game to run on one core solves 90% of CTDs.
- -EH:off - Disables exception handling, leading to a much faster/smoother shutdown of the game. If you're experience the game process hanging when you close it and/or leave to region, this should solve that.
- -Intro:off - Does exactly what you'd think it would. Stops the intro movies from playing.
Here's a list of the other parameters if you're curious.
2. Flagging as Large Address Aware (LAA)
NOTE: Will only work for users with 4+ Gigabytes of RAM on 64-bit operating systems.
This will enable SimCity 4 the use of more than 2GB of RAM. This should solve CTD/lag problems related to large or decorated cities. If you notice your game stuttering or crashing when your cities get bigger, or if you have a large plugins folder, flagging LAA on the exe should alleviate this.
laa_2_0_4.zip 13.71K 1036 downloads
Download the attached ZIP file and open the program inside. Choose "Add.. File" and navigate to your SC4 installation directory and find the SimCity4.exe.
For steam users that's:
./Program Files/Steam/steamapps/common/SimCity 4 Deluxe/apps/
For non steam users:
./Program Files/Maxis/SimCity 4/apps/
Now select the exe in the program and choose "With Selected..." and then "Force Large Address Aware", and to be safe "Set Original to True".
SimCity 4 will now automatically use more than 2GB of RAM if/when needed. There are other methods of doing this, but the one described it the most simple.
This program can also be used for any windows application or game.
3. Telling SC4 to Recognize a Newer GPU
NOTE to ATI Users: This part is required if using an ATI 7XXX Series GPU, as the game recognizes these cards as the older series of similarly named cards, and forces the game to run at the lowest hardware settings - regardless of what is set in-game.
This part will teach you how to add your GPU (Graphics Card) to the list of cards SC4 recognizes. You will need to edit two files, "Graphics Rules.sgr" and "Video Cards.sgr" in your default install directory (see above). You should make a backup of these files just in case.
The first step is to find the vendor code used to identify the chipset in your card. The easiest way to do that (on windows machines) is to right click on your desktop choose "Properties->Advanced Settings". In the dialog that pops up, under the "Chip Type" line, there should be a 6 character code in parenthesis (should look something like 0x1234). Write this code down as it's very important in this process.
Now, open your "Graphics Rules.sgr" file and find the line:
partialRule "Fast card" -any # We run well on these cards, so up the defaults.
Below it add:
stringMatch cardIdentity "[MAKE]*[MODEL]*"
Where [MAKE] is the company that made your card (usually ATI or NVidia - case sensitive) and model being the name of the card (ie. HD 7700 Series).
A proper example (using an ATI 4800) would look like:
stringMatch cardIdentity "ATI*HD 4800 Series*"
Now open your "Video Cards.sgr" and find the category of cards associated with your GPU maker. Among the other cards in that category add the following:
card [CHIP#] "[CARD NAME]"
Where [CHIP#] is the 6 character code we wrote down earlier, and [CARD NAME] being the actual name of your card.
A proper example (still using an ATI 4800) would look like:
card 0x9442 "Radeon HD 4800 Series"
Save these files and you're done. SC4 now recognizes your card as a high-end GPU and will treat it as such in-game.
4. In-Game Options
If SC4 is still running slow after doing these three things, try simply turning shadows to low. SimCity 4 is notoriously unoptimized and the shadows are the worst offender. Even top end systems can't run a large city with shadows set to high without experience at least some amount of stutter/lag. I personally keep them disabled and then re-enable them when I want to take nice screenshots.
Also, always - always - run in Hardware rendering mode. Contrary to popular belief, software mode will actually make your game run slower than if in hardware mode. The misconception arises because of the aforementioned unoptimized shadows, as the degree of lag they cause is lessened in software rendering, leading people to believe software rendering is faster. However, if you were to compare the two modes with shadows set to off, you'd notice the game running much smoother/faster in hardware rendering.
Here are the settings I use:
- Visual Effects: High
- # of Cars/Sims: High
- Shadows: Low
- Building Draw Speed: High
- Texture Quality: High
- City Detail: High
- Clouds/Fog: [X]
- Waves: [X]
- UI Translucency: [X]
- Color Cursor: [X]
- Variable Speed Automata: [X]
- Color Quality: 32-Bit
- Renderer: Hardware
5. My game is still crashing. Help!
If you're still experiencing problems, and have attempted all solutions listed in this thread, it could be the result of a bad plugin. Try running the game with no plugins and see if the problem goes away. If it does, then slowly re-add the plugins bit-by-bit until the problem comes back, then try to find the offending plugin.
Another common cause of CTDs is dragging a NAM puzzle piece across a Transit-Enabled lot. An example of this would be hovering a start piece within the boundaries of a mass transit station. This will always happen! Be careful when using puzzle pieces in densely grown areas.
If you have any questions or need help, make a post in the City-Building Help & Support board. Someone will be more than willing to assist you with any issues you may have.
And that concludes this tutorial. I hope this solved any or all of your problems with running SC4. Have fun and happy city-building!