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


View All Comments

  • CZroe - Wednesday, August 1, 2007 - link

    I believe that SLI will double the address ranges reserved for video memory and I believe that it would make testing the limit with these games on Windows XP possible.

    So, will SLI double the reserved address ranges? Considering that the board tested is an SLI board, I would recommend that it be tested in an SLI configuration with two 640MB+ cards.
  • guidryp - Wednesday, July 25, 2007 - link

    It is about address space not physical memory installed. Some people don't seem to get that how much memory you have just doesn't matter. We have all been using Virtual memory for ever. As far as applications are concerned you don't run out of memory till you exhaust the address space. Vista seems to be chewing up a lot of that address space.

    256MB - 1.7G
    512MB - 1.9G
    768MB - 2.1G Ooops!

    256MB - 1.3G
    512MB - 1.3G
    768MB - 1.3G

    I think Anand has a good answer on the probable what/why here. Microsoft mapped the video memory into the user address space as a security measure. Security as in DRM. This prevents a second application from peaking into the video ram while you play a BluRay disk. So for Microsoft. It is a good tradeoff to lose a big chunk of address space, to protect you from pirating, your content on your machine. We should thank them I guess. Otherwise I might accidentally do a frame capture while playing a BluRay disk. That would be just awful. Much better to be protected against that and have few games crash due to resource exhaustion. Thank you Microsoft.

    As a programmer, I will tell you that behaving gracefully when you are out of memory is a challenge. When new fails, you are likely hosed. You probably can't allocate memory to print out a message. You may as well exit because when you are out of memory it is game over. I see mission critical (five nines) code that doesn't even check the return code on new. I wouldn't hold gamer programmers to a higher standard.

    Games that don't blow the memory on XP, but do on Vista is Microsoft problem. When CoH takes 1.3GB on XP and 2.1GB on Vista. This is stark loss of address range that Microsoft should never have embarked on for backward compatibility reasons.

    Though supreme commander does deserve criticism because it can blow the memory on just about any setup. They should have tested worse case scenario and put blocks in on the number of AI/Units to prevent the memory wall from being breached.
  • zagood - Thursday, July 26, 2007 - link

    ugh...typed a novel as a response and then got a posting error. Summation:

    I see your point and understand the logic. I was just saying that the difference between the processing power of those cards are about the same ratio as both the onboard memory difference and the allocation in Vista. For quick reference, from TH VGA charts:

    BF2142 1024x768 no AA (FPS)
    7800GTX 256mb: 56.8
    X1900XTX 512mb: 75.4
    8800GTS 640mb: 94.6

    I just find it interesting. One test with the 8800GTS 320mb could prove me wrong, that's all I'm asking.

  • zagood - Monday, July 23, 2007 - link

    "The amount of address space used with Vista seems to be related to the amount of video memory on our video card..."

    Would like to see a test with 8800GTS 320mb vs. 8800GTS 640mb to confirm. Looking at the cards used, I wouldn't automatically chalk up the differences to onboard video memory, but instead to the processing power of each card.

  • Kougar - Saturday, July 21, 2007 - link

    Very interesting finds here, thanks for the nice fact finding article. :) Nice to see some real, hard facts against Vista for a change other than the random perpetuated junk.

    Just a note it is still easy to crash SupCom however. As I said in the commentary for the 1st article it takes the X-large maps, 7 Advanced AI + 1 player, and 38-65 minutes of gameplay depending on econ ability of the particular map and use of the Resources x2 mod. If enough units were destroyed or an AI was killed off prematurely the game would never even crash. Using a 8800GTS 320mb card.
  • titan7 - Thursday, July 19, 2007 - link

    Physical RAM is how much RAM you have. Pretty simple.

    Virtual Address Space is something the OS provides. Every 32 application thinks it has a full two (or three or four, whatever your OS configuration) gigabytes of RAM all to itself. It doesn't matter if you have an old PC with four megabytes or a new one with four gigabytes. It's just virtual memory, not real memory, and you've got two gigabytes of it.

    You can run dozens of applications all thinking they have two gigabytes of memory on a system with only a few megabytes. Through virtualization of the RAM the OS will just page out bits to the swap file on demand.
  • nullpointerus - Friday, July 20, 2007 - link

    This stuff was covered in Part 1.

    Or did you intend to respond to someone in the comments section?
  • spazmedia - Thursday, July 19, 2007 - link

    Does anandtech make reference in their motherboard reviews to memory hoisting or memory hole remapping? Just read somewhere else that even with a 64bit operating system, you can lose 1GB or more of memory depending as you say on your video card config, in the 3-4GB address space. Thus with a 32bit operating system it is pointless to have more then 3 gigs of ram. Memory hole remapping moves this address space elsewhere, presumably where it does not affect the amount of ram available for applications the OS. (Quite a mess actually...) Reply
  • BikeDude - Sunday, July 29, 2007 - link

    Yeah, the memory hole feature moves the "offending" DIMM above the 4GB border, thus you end up seeing this memory only in Windows Server or 64-bit Windows. (and if you do decide to use 32-bit Windows Server, you end up with 3pointsomething GB anyway, because nVidia has not supported PAE since Forceware 79.11) Reply
  • titan7 - Thursday, July 19, 2007 - link

    If it really is a WDDM problem couldn't you install some old Windows XP drivers instead of speculating? Or does vista 100% require wddm drivers? Reply

Log in

Don't have an account? Sign up now