A Messy Transition: Practical Problems With 32bit Addressing In Windows
by Ryan Smith on July 12, 2007 12:00 PM EST- Posted in
- Software
Other Problems, Other Solutions
Although for this article we are focusing on Supreme Commander, there are other games and applications that are already known to encounter this exact problem. Company of Heroes developer Relic has warned that this problem can occur, especially in conjunction with using Direct3D 10 mode and STALKER developer GSC Game World has also seen this problem. Both have gone so far as to ship the latest versions of their games with the LARGEADDRESSAWARE flag.
Although not an exhaustive list, we have compiled a list of recent games and applications and if they are flagged or not. Ideally every possible game and application that can run in to the 2GB barrier will be flagged so that it can be worked around without modifying the application directly itself.
Large Address Aware Status | |
STALKER: Shadow of Chernobyl | Yes |
Lost Planet | No |
Company of Heroes | Yes |
Supreme Commander | No |
Enemy Territory: Quake Wars | Yes |
Battlefield 2142 | No |
Call of Juarez DX10 BM | No |
World of Warcraft | No |
The Elder Scrolls IV: Oblivion | No |
Photoshop CS3 | Yes |
Dreamweaver CS3 | No |
. |
The importance of the above applications and games being flagged is not just to avoid the need to modify the executable, but also because there is another solution to the issue we haven't talked about so far. 64bit versions of Windows(i.e. XP and Vista) do not suffer from the traditional 2GB barrier, as all the kernel mode addressing is usually moved to well above the confines of the limited 32bit addressing area. As such, these versions of Windows don't need to have their space allocations adjusted for an application to gain access to more addressing space, bypassing the instability and any possible performance problems that occurs as a result of making this adjustment.
However in order to maintain compatibility with older applications, Windows still keeps the artificial 2GB barrier in place to keep from triggering any bugs that result from the extra space. So even if we use a 64bit version of Windows, the offending application must still either be flagged by the developer or modified by the user if we want to get past the 2GB barrier.
This in turn is an interesting proposition for developers who may be looking at ways to deal with the 2GB barrier, but don't want to make the jump to having to program and support 2 versions of their executables and associated compiled code. Although as a 32bit application there is still the 4GB hard limit, flagging executables lets a developer keep a single package and is perfectly safe on both stock 32bit and 64bit installations of Windows. They can effectively buy another 2 years or so before they need to actually offer 64bit executables, and can direct users to install a 64bit version of Windows if they are hitting the 2GB barrier, instead of directing them to make the much riskier user space modification.
Of course this is not all roses. As we covered in our Vista performance guide, there are still some issues with Windows Vista 64bit, and Windows XP 64bit is even worse as a result of having been orphaned quickly after its release. For prospective 64bit Vista users, they will still find that driver support is not as good as with the 32bit version of Vista, and 64bit drivers may not be as stable as the 32bit versions. There are also still lingering concerns over application compatibility and performance.
Things have gotten better since we published our February article, but we're not ready to write them off completely yet. Users getting along with 32bit versions of Windows right now will find themselves in between a rock and a hard place as more applications and games start to hit the barrier - they'll either need to make the user space modification or switch to a 64bit version of Windows when neither of these is a perfect solution. This leaves the less imperfect but also less fun option of simply turning down the settings on any affected games. Lower settings result in lower user space usage and reduced chances of crashing, but in spite of the highest stability and compatibility offered by this option we suspect few users will actually opt for it.
69 Comments
View All Comments
nullpointerus - Thursday, July 12, 2007 - link
64bit versions of Windows(i.e. XP and Vista) do not suffer from the traditional 2GB barrier, as all the kernel mode addressing is usually moved to well above the confines of the limited 32bit addressing area. As such, these versions of Windows don't need to have their space allocations adjusted for an application to gain access to more addressing space, bypassing the instability and any possible performance problems that occurs as a result of making this adjustment.I used 64-bit Vista for a while but just couldn't deal with the BSOD's and other wierd behavior that would happen with 4 GB RAM installed and the BIOS memory hole option set. For example, the nVidia SATA drivers (3 updates on Windows Update alone) for my board would BSOD on every boot when the BIOS memory hole option was enabled, and the PVR-150's driver would randomly corrupt itself and turn into a green/garbled slideshow:
http://www.hauppauge.co.uk/board/showthread.php?t=...">http://www.hauppauge.co.uk/board/showthread.php?t=...
I wish the 64-bit driver developers would get off their butts and fix this stuff.
gersson - Thursday, July 12, 2007 - link
Large Address Aware Statusit says, "STALKER: Oblivion Lost"
Ryan Smith - Thursday, July 12, 2007 - link
I'm not sure I see what the problem is. Could you go in to more detail?gersson - Thursday, July 12, 2007 - link
You meant to place 'Stalker' cos there is already an entry for oblivion and 'lost' (I assume you mean 'lost planet')Read like this:
Observe first line:
STALKER: Oblivion Lost Yes
Lost Planet No
Company of Heroes Yes
Supreme Commander No
Enemy Territory: Quake Wars Yes
Battlefield 2142 No
Call of Juarez DX10 BM No
World of Warcraft No
The Elder Scrolls IV: Oblivion No
Photoshop CS3 Yes
Dreamweaver CS3 No
DigitalFreak - Thursday, July 12, 2007 - link
No. Stalker had the working title of Stalker: Oblivion Lost...gersson - Thursday, July 12, 2007 - link
hmm ok, didn't know that -- but you can see how I had arrived @ my conclusion :-PThe Boston Dangler - Thursday, July 12, 2007 - link
the game was released as STALKER: Shadow of Chernobyl. no biggieRyan Smith - Thursday, July 12, 2007 - link
Fixed. I keep forgetting they changed the name.grant2 - Thursday, July 12, 2007 - link
So this game will crash reproducably when using a large map, with many players, and many units.And GPG released it like this? Either their QA department is rather incompetent, or management were buffoons to ignore such an obvious error.
Very disapointing!
EODetroit - Thursday, July 12, 2007 - link
I've been hoping Anandtech would take memory issues more seriously for a while now, glad you're getting your teeth into it for real now!"Unfortunately Windows Vista reverted to a non-accelerated desktop at this point, preventing us from capturing a screenshot of the exact memory readouts or the error message."
Use a camera!