Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

Supreme Commander seems to crash for almost everyone when set to max settings. The general consensus is that the game is hitting the 2GB address space limit on Windows. The quick fix is to increase Windows' address space limit from 2 to 3 GB. The solution is to switch to a 64-bit version of Windows.

The former did not work for me as the game still crashes. To make things more bizarre, I am already running a 64-bit version of Windows 7.

Why is my 64-bit OS running out of address space?

My specs:

  • CPU: AMD Phenom II X4 970 Processor 3.50 GHz
  • GPU: Nvidia GeForce GTX460 SE (2 GB)
  • RAM: 4GB
share|improve this question
    
Offhand, do you know if the game is a 64-bit version? Because it won't go past the memory limits unless it was compiled 64-bit. –  CyberSkull Dec 28 '11 at 21:11
    
@CyberSkull I don't know the answer to that. –  puk Dec 28 '11 at 22:36
    
Can you check the properties of the executable? Getting info on it may say whether the build of the game you have is 32 or 64-bit native. –  CyberSkull Dec 29 '11 at 4:47
1  
@CyberSkull and puk: For checking in an exe is 32 or 64 bit see Quick way to tell if an installed application is 64-bit or 32-bit on Super User. In short look for *32 after the name in Task Manager's Processes tab or download an application to do it for you. I'd suspect it's 32bit though, as the vast majority of big name games being released even today are still 32bit. –  DMA57361 Dec 29 '11 at 8:16
1  
SupCom can be safely altered; Forged Alliance already is LAA. (IIRC) –  MSalters Dec 30 '11 at 12:38
show 4 more comments

3 Answers

I went to C:\Program Files (x86)\Steam\steamapps\common\supreme commander\bin\SupremeCommander.exe , right click on SupremeCommander.exe, Troubleshoot compatibility. It automatically suggested Windows XP SP2 compatibility mode, I accepted it, and now it's running ok under Windows 7 64 bits.

share|improve this answer
add comment

Enabling the /3GB switch on 32bit Windows won't allow a 32bit application to address more memory unless the application is Large Address Aware. If it is LAA, then a 32bit application could address up to 3GB when the switch is enabled.

Similarly, using 64bit Windows will not automatically allow a 32-bit application to address more memory, although a LAA 32bit application could address 4GB in this scenario.

So, the short answer to your headline question is: Unless especially compiled as Large Address Aware, a 32bit application cannot address more than 2GB of memory, even on a 64bit OS and system (and even if LAA, the cap would still be 4GB on 64bit).

I suspect most applications are not released as LAA (for example, Skyrim wasn't LAA; they patched that in a few weeks after release), but I cannot comment on the exe provided with Supreme Commander.


There are tools available to patch in Large Address Aware flag to existing exes (if the SC game's isn't), but be wary of using them on games as you risk tripping anti-cheat detectors (because your exe has been modified).

Also, have you monitored memory usage of the game and system when a crash occurs? Given you only have 4GB total in the system, could it be that you're simply running out of RAM for the entire system, and so the game or system chokes to death when it ends up being paged out to disk?

share|improve this answer
    
I have not monitored the memory usage, and apparently using System Monitor to do so is insufficient (I can't remember why). But if it was running out of memory it would slow down as it paged, not crash immediately to windows. –  puk Dec 28 '11 at 22:43
    
@puk it would probably slow down, yes, but it is possible for an application to be very intolerant of that sort of thing. Have you tried using Process Explorer for monitoring? At the very least if the game always crashes at roughly the same memory usage you can be sure that the problem is what you think it is. –  DMA57361 Dec 29 '11 at 8:20
    
@puk You may try 4GB Patch by Ntcore to patch Supreme Commander's EXE file to have the LAA flag, and see if this prevents crashes. It will backup the original file before patching, so you can revert to the original EXE if anything goes wrong. This also worked with Skyrim, back when it was not yet patched to be Large Address Aware. If you have Forged Alliance (Supreme Commander's standalone expansion), then you won't need this patch, as it appears that Forged Alliance is already LAA (try searching for 'Forged Alliance LAA' in your favorite search engine). –  galacticninja Feb 17 '12 at 6:51
    
@galacticninja it's the LAA issue. I patched it using Visual Studio and it worked. The best thing to do, though, is get FA –  puk Feb 17 '12 at 9:03
add comment

I don't think so. Most likely it's an issue with your video card. You can verfiy the address limitation with the Windows Performance index. There is a line stats the total memory of your system. It should be 4 GB.

share|improve this answer
    
If you read the linked article, it's quite clear that SC is exceeding 2 GB of RAM under normal use. –  Tharius Dec 28 '11 at 13:29
    
@Stephen: Yes, sure, but why did you downvote me? I've write a method to find out if Windows is correctly addressing 4 GB. Maybe the question is just low quality? –  Phpdna Dec 28 '11 at 13:44
    
Because your answer didn't address the question at hand. It is not video ram that's running out, it's system ram. Additionally you didn't suggest a solution, only offered some diagnostic information. If you want to discuss it further, please raise the issue on meta –  Tharius Dec 28 '11 at 13:47
    
Stephen: I'm not a native english speaker so I don't agree with your argumentation. Normally diagnostic information is more valuable then a solution. I don't like it either when people wants to tell me what is right or wrong? –  Phpdna Dec 28 '11 at 13:55
    
In any case, it's probably not the video card because it's the system memory that's running out, also the game runs smoothly even with 8 players, each with 1000 units. –  puk Dec 28 '11 at 22:46
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.