A Messy Transition (Part 2): Windows XP, Vista, and the 2GB Barrier
by Ryan Smith on July 19, 2007 12:00 PM EST- Posted in
- Software
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.
57 Comments
View All Comments
mlau - Thursday, July 19, 2007 - link
PAE is a hackish solution to enable more than 4 GB *physical* RAM; it hasnothing to do with address space (where 4GB is still a limit).
But you are right, most windows driver devs are morons and only know how to
work with 32bit UP kernels. Thank heavens for unix where 64bit SMP is an old
thing.
pallejr - Sunday, July 22, 2007 - link
It's not really a hackish solution. It's a way to extend to PHysical address space beyond 4GB.ChronoReverse - Thursday, July 19, 2007 - link
I was under the impression that VRAM is virtualized under Vista so that multiple programs are presented with the full memory of the video card. Since this memory needs to be addressable, each (3D) program will immediately have the VRAM allocated.Slaimus - Thursday, July 19, 2007 - link
I remember reading that the virtualization was made optional for DX10, because many graphics chip makers were unable to implement it properly in their drivers.kf27fix - Thursday, July 19, 2007 - link
What about other software, other than games? For example does Word (2003 or 2007) use more memory/address space under Vista than under XP? Perhaps it's not just games...mlau - Thursday, July 19, 2007 - link
How did you "measure" the "address space consuption"?Do you actually know what gets mapped into the games' address space.
Because code bloat alone could not explain the vast differences between
vista and xp...
nullpointerus - Thursday, July 19, 2007 - link
Part 1 of this article series describes how they monitored virtual address space usage.http://www.anandtech.com/gadgets/showdoc.aspx?i=30...">http://www.anandtech.com/gadgets/showdoc.aspx?i=30...
imaheadcase - Thursday, July 19, 2007 - link
Does a game fill video memory first,then offload the rest to system memory? Don't scream "noob alert" for the question..because.. I ask if a 8800GTS with 320megs should NOT have Supcom crash if you also have 2gigs of ram, 2gig + 384gig = 2.384gig give or take for Supcom to use?Inspiring minds want to know!
Also, another "fix" you also should mention is just lowering details in such games to save space in memory.
Did you look at Vista SP1 fixes website to see if such a item could be a "fix" for this? It might already be listed there, just not available till SP1
grant2 - Thursday, July 19, 2007 - link
I ask if a 8800GTS with 320megs should NOT have Supcom crash if you also have 2gigs of ram, 2gig + 384gig = 2.384gig give or take for Supcom to use?The OS only offers 2gigs of address space to the application. So the amount of physical chip memory is not the issue at hand here. Even if you have 3, 4, 6gb of memory on your motherboard, the software can only "see" 2gb of it.
When it comes to your graphics card, the application needs to address ("see") the video memory. So (in vista) the larger your video card, the more of that valuable address space is consumed by being pointed to the vcard memory.
EndPCNoise - Friday, July 20, 2007 - link
Hopefully Ryan Smith or grant2 or somebody can answer this:Assume you are running either 32-bit XP,XP Pro or 32-bit Vista.
If you have 4GB of RAM installed on your motherboard, then ALL your address space should be used in on-board RAM and video card RAM, and NONE in Virtual Memory (Hard Disk Drive). Is this correct?
Windows could not use Virtual Memory because all the address space has been accounted for in on-board RAM and video card RAM (assuming you have 4GB RAM installed). Is this correct?
You would still have the 4GB address space limitation -- 2GB for the operating system and 2GB for applications. I believe the 2GB application limit would still be breached. However, would the crash be delayed due to the fact that the CPU can access RAM much faster than Virtual Memory?
On another note...Why does Microsoft state that 32-bit Vista Home Premium supports up to 16GB RAM if there still exists a 4GB limit on address space? -- This does not make sense.
I apologize for sounding like such a dummy, but most of this stuff is "out of my league." I appreciate your help in my understanding. This is why Anandtech is my favorite site.