A Second Opinion

To answer the question of the source, we took two other games that have been known to encounter problems with the 2GB barrier: S.T.A.L.K.E.R: Shadow of Chernobyl and Company of Heroes. Both of these games as we found out in part 1 are currently shipping as large address aware, making them ideal candidates for examining address space usage under heavy load.

For STALKER, we are measuring address space usage around the particularly hectic and graphics-heavy starting camp. Usage was measured right after STALKER finished loading a saved game at that location.

Once again we are seeing two patterns as with Supreme Commander: under XP it's consuming far less address space than under Vista, and the amount of space consumed under Vista is dependent on the amount of video memory. On our bulky 8800GTX the difference between XP and Vista is 600MB, now 30% of our total 2GB of default address space. While STALKER manages to stay under 2GB, we could easily see the game cracking that. As for the relationship between video memory and address space used, it's less pronounced here, switching out for the 7800GTX only shaves off about 100MB.

Switching back once again to real-time strategy games we have Company of Heroes. Here we're checking address space usage at the start of the single-player Cherbourg mission, which as one of the visually richest levels in the game has the greatest capacity for hitting the 2GB barrier and reportedly has been causing problems doing so.

If we were handing out prizes for the biggest difference in address space usage, Company of Heroes would take the cake. At 2.16GB with our 8800GTX on Vista versus 1.30GB on XP, the increase in address space usage is now over 40% of the default and had we not modified our memory allocations Company of Heroes would have crashed. We also see our clearest pattern here of a difference in address space usage based on video memory, under Vista the address space usage with our 7800GTX is some 430MB less.

Index Final Thoughts
POST A COMMENT

57 Comments

View All Comments

  • jay401 - Thursday, July 19, 2007 - link

    It's good to have another link of solid proof for all those jokers out there who want to claim Vista is soooo much better for gaming. wtf ever.

    But back to the topic of SupCom: SupCom shouldn't crash without the hack. It shouldn't need a hack. It should work properly. Hopefully they rectify this in November, but having to pay for a second game (Forged Alliance) to get the first one to work on the epic scale they billed it as having, is rubbish.
    Reply
  • titan7 - Thursday, July 19, 2007 - link

    It works on the Epic scale if you play in XP though.
    Reply
  • jay401 - Friday, July 20, 2007 - link

    only if you implement the hack fix and even then, no guarantees. Reply
  • thorphin - Thursday, July 19, 2007 - link

    2 GB barrier. This is something us in the Windows systems programming world have had to deal with for sometime. The real solution as you know is to move to a 64-bit OS but there is one trick Microsoft has left in the 32-bit world.

    We can use the /3GB switch in the boot.ini on most Windows versions prior to Vista. On Vista you use the “IncreaseUserVA element in BCDEdit” in place of the /3GB switch. This raises the 2 GB application address limit to 3 GB.

    But for the application to use this additional 1 GB of address space it must be compiled to use “IMAGE_FILE_LARGE_ADDRESS_AWARE in the process header” or linked wit the /LARGEADDRESSAWARE option.

    If you want all the techie details check out
    http://www.microsoft.com/whdc/system/platform/serv...">http://www.microsoft.com/whdc/system/platform/serv...
    http://msdn2.microsoft.com/en-us/library/ms791558....">http://msdn2.microsoft.com/en-us/library/ms791558....


    Reply
  • EndPCNoise - Friday, July 20, 2007 - link

    But for the application to use this additional 1 GB of address space it must be compiled to use “IMAGE_FILE_LARGE_ADDRESS_AWARE in the process header” or linked wit the /LARGEADDRESSAWARE option.

    I don't think this is something the "average joe user" (in other words ME) can do. If I could do this, how?
    Reply
  • thorphin - Tuesday, July 24, 2007 - link

    This doesn't apply to you as the end user, it applies to the developers of the application (or game in this case). Reply
  • BUL - Friday, July 20, 2007 - link

    Poor attempt, sport... The /3GB option is a band-aid the works in some cases and causes problems in others. The biggest issue with /3GB is drivers--even signed drivers may render XP useless--and remember, /3GB only applies to XP Pro, not XP Home. Generally speaking, writers of drivers for server OS's need to deal & test for this, but do you think your cheap Chinese-made camera's driver (written by the Guaw-Dong Industrial Conglomerate's programmer who also maintains their website) has an "industrial strength" driver? No...

    What this boils down to is a design flaw in Vista (apparently in its video driver model) and poor coding on the part of ATI/NVidia driver developers & the game developers. Personally, I don't care how complex a game is--if it offers settings that cannot exist in 2GB of address space, especially on XP, then the video game company & its developers are at fault. Now they'll actually have to develop tighter, cleaner code... Boo-hoo.
    Reply
  • skroh - Thursday, July 19, 2007 - link

    They explained all of those issues in detail in the first article, particularly the way in which the /3GB switch doesn't help with apps that are not large address aware. They also expected the offending apps to crash at the mere presence of the switch at least some times, but apparently this proved to be almost a non-issue. I don't know if they reproduced the stability tests with the /3GB switch under XP, but that might be useful info. Reply
  • thorphin - Tuesday, July 24, 2007 - link

    Of course it doesn't work with apps that aren't large address aware. The burden is on the developers of the applications in question. They must either make them large address aware, port them to 64-bit, or write code that can execute in a smaller address space.

    Heck, they just do all the above to make them as versatile as possible.
    Reply
  • customcoms - Thursday, July 19, 2007 - link

    The issue is you then limit the os to 1gb of address space (since there is only 4gb total, period, no way to increase that limit w/o 64 bit environments)...which causes vista to crash... Reply

Log in

Don't have an account? Sign up now