Motherboards Memory Storage Cases/Cooling/PSUs IT Computing Displays Mobile Mac CPUs & Chipsets Video Digital Cameras Linux Gadgets Systems Trade Shows Guides Home Increase Font Size Decrease Font Size Change Page Size
A Messy Transition (Part 3): Vista Buys Some Time
A Messy Transition (Part 3): Vista Buys Some Time
Date: August 13th, 2007
Topic: System
Manufacturer: Microsoft
Author: Ryan Smith
Buy the Jaton VIDEO-PX8400GS GeForce 8400GS
Blank
 PC Connection $52.54
 Newegg $42.99
 Amazon $45.24
 
 

As we saw in part 1 of this series, large applications and games under Windows are getting incredibly close to hitting the 2GB barrier, the amount of virtual address space a traditional Win32 (32-bit) application can access. Once applications begin to hit these barriers, many of them will start acting up and/or crashing in unpredictable ways which makes resolving the problem even harder. Developers can work around these issues, but none of these except for building less resource intensive games or switching to 64-bit will properly solve the problem without creating other serious issues.

Furthermore, as we saw in part 2, games are consuming greater amounts of address space under Windows Vista than Windows XP. This makes Vista less suitable for use with games when at the same time it will be the version of Windows that will see the computing industry through the transition to 64-bit operating systems becoming the new standard. Microsoft knew about the problem, but up until now we were unable to get further details on what was going on and why. As of today that has changed.

Microsoft has published knowledge base article 940105 on the matter, and with it has finalized a patch to reduce the high virtual address space usage of games under Vista. From this and our own developer sources, we can piece together the problem that was causing the high virtual address space issues under Vista.

As it turns out, our initial guess about the issue being related to memory allocations being limited to the 2GB of user space for security reasons was wrong, the issue is simpler than that. One of the features of the Windows Vista Display Driver Model (WDDM) is that video memory is no longer a limited-sharing resource that applications will often take complete sovereign control of; instead the WDDM offers virtualization of video memory so that all applications can use what they think is video memory without needing to actually care about what else is using it - in effect removing much of the work of video memory management from the application. From both a developer's and user's perspective this is great as it makes game/application development easier and multiple 3D accelerated applications get along better, but it came with a cost.

All of that virtualization requires address space to work with; Vista uses an application's 2GB user allocation of virtual address space for this purpose, scaling the amount of address space consumed by the WDDM with the amount of video memory actually used. This feature is ahead of its time however as games and applications written to the DirectX 9 and earlier standards didn't have the WDDM to take care of their memory management, so applications did it themselves. This required the application to also allocate some virtual address space to its management tasks, which is fine under XP.

However under Vista this results in the application and the WDDM effectively playing a game of chicken: both are consuming virtual address space out of the same 2GB pool and neither is aware of the other doing the exact same thing. Amusingly, given a big enough card (such as a 1GB Radeon X2900XT), it's theoretically possible to consume all 2GB of virtual address space under Vista with just the WDDM and the application each trying to manage the video memory, which would leave no further virtual address space for anything else the application needs to do. In practice, both the virtual address space allocations for the WDDM and the application video memory manager attempt to grow as needed, and ultimately crash the application as each starts passing 500MB+ of allocated virtual address space.

This obviously needed to be fixed, and for a multitude of reasons (such as Vista & XP application compatibility) such a fix needed to be handled by the operating system. That fix is KB940105, which is a change to how the WDDM handles its video memory management. Now the WDDM will not default to using its full memory management capabilities, and more importantly it will not be consuming virtual address space unless specifically told to by the application. This will significantly reduce the virtual address space usage of an application when video memory is the culprit, but at best it will only bring Vista down to the kind of virtual address space usage of XP.

Testing the KB940105 Hotfix   Next Page

 
  Index

Tools Share
Digg   del.icio.us   E-mail  
Print This Article Print this article  

35 Comments - Last by initialised, 645 days ago
Username:
Password:
Hotfixes by stash, 830 days ago
Calling PSS for hotfixes is no longer required. You can request hotfixes through the web.

https://support.microsoft.com/contactus...act.aspx?scid=sw;en;1410&WS=hotfix

Reply
RE: Hotfixes by n0nsense, 829 days ago
stay with "quality" buggy products of MS and you will experience much more :)
Linux (and all xNIX OSes including Mac OS X) moved to native 64 bit few years ago. I'm personally use Gentoo x64 since my upgrade to C2D (more then year) and i didn't felt the transfer. Almost every software available as native 64 (including commercial soft like Nero). and what is not, working seamless (even 32bit drivers on 64bit system).
for people that does not have 64 bit hardware, there is a kernel (OS) support for 64GB of RAM. and first 4GB can be shared between system and user spaces as 1/3 GB (respectively) 2/2GB and 3/1GB. this can solve the issue for microsoft, but it seems they are too greedy to solve the problems for what you already have paid, they will force you to pay for something else with different problems ;)
P.S.
this is not anti MS or pro xNIX post, the suggestion for solution is inside.

Reply
RE: Hotfixes by Rebel44, 829 days ago
Direct link to hotfix download http://hotfixv4.microsoft.com/Windows%2...2739/6000/free/320548_intl_x64_zip.exe - its password protected (password: {8ly8YX2 is valid untill 8.17.07)

Reply
RE: Hotfixes by leexgx, 829 days ago
password must change offen link

http://forums.ngemu.com/software-discus...ista-memory-usage-reducing-hotfix.html

has both files to x86 and x64 (useing the 64 one now)

uses with cards that are less then 512mb (e.g. 256mb) are likey to be less affected or not affected at all as most games would be unplayable on Very high detail settings on them type of games so running out of ram probly not happen on lower end cards

Reply
Good stuff... by MadBoris, 830 days ago
Thanks Ryan for showing the before and after effects of the patch. It is clear Vista still has it's overhead unfortunately. Even if a game avoids hitting the 2GB wall by thorough testing and optimization (in a fixed footprint game unlike SupCom), the problem is all developers are being handicapped by RAM for PC now. We have the GPU and CPU power to render more and handle more, but memory size is a restraint to overall game design now for certain genres. Even though console games won't be very effected by PC ports, but standalone PC games that could really address more memory in a couple years won't be able to. As for now 2GB RAM is the current sweet spot for a gaming rig, but it's a slippery slope as we get close to the ceiling.

I'm all for the 64 bit solution, as it is the only viable one. It really needs to become more mandatory that applications and games start doing proper x64 versions, some good apps still lack support. I fear the "strong encouragement" from MS isn't enough, maybe new tools they can come down with Visual Studio could make it easier for devs to verify code and do a proper 64 bit build.

Also, I think Microsoft should do a special promotion where users can buy a 64 bit Vista upgrade if you own 32 bit. 1/4 the price or better will make the transition easier and more inviting to Vista 32 users. I think MS would make plenty of money because more people would take the leap, and at the same time help the market adoption to 64 bit. Without MS making it an easy transition price wise for platform saturation, it also won't happen. As it is, 64 bit support is growing very quickly over the last 6 months by developers, it's promising but we need a 32 bit cutoff by MS I fear, maybe with the next OS would be a good time.

Reply
RE: Good stuff... by MadBoris, 830 days ago
bah no edit function...correction...

"the problem is all developers are being handicapped by RAM for PC now."

...handicapped by the 2GB memory ceiling for PC now. (handicapped in development)

Reply
RE: Good stuff... by Shawn, 828 days ago
You can switch from Vista 32bit to Vista 64bit by just using the 64bit installation dvd. You can use your same key. You don't need to re-buy Vista.

Reply
2GB sweet spot? Raise the bar! by BikeDude, 827 days ago
No, 2GB is no longer the sweet spot for a gaming rig. One year ago -- sure.

Even though your game will at most utilize 2GB memory, there is still a need for the OS to cache stuff, and you might have other applications running in the background. Nothing is sweeter than having BF2 not touch your hard drive after a while... (I've had 4GB memory for two+ years now)

Given how cheap memory is now, 3GB or 4GB is closer to the sweet spot.

Reply
RE: 2GB sweet spot? Raise the bar! by leexgx, 827 days ago
vista norm running you should have 2gb at least or pc mite be an little slow with 1gb with just running norm programs like norton and 1 copy of internet explore + msn printer and so on can realy lag the pc out (gameing on 1gb ram can be an drag but if the game settings are low any way mite not matter)

gamers on vista should aim for 3gb min
for later on maybe just buying 4x1gb or 2x2gb ram be better so all the ram is the same and you can get 64bit windows later on or Now (seems to be working fine for me but some games perform not so well game is jumping when FPS is high)



Reply
You should've tested BF2.... by ikjadoon, 830 days ago
BF2 literally CTD's with this issue.

I've heard claims that with this you cannot use unsigned drivers with these hotfixes, can Anandtech confirm that for us? Many of us using Vista are using Beta (aka unsigned) drivers because WHQL versions are few and far between. Thank you!

~Ibrahim~

Reply
Comments Page 1 of 4

Download Microsoft Visual Studio ® Team System
Streamline Dev processes, Reduce time to market. Try Microsoft Visual Studio Team System, FREE!
Unlicensed Software at Your Last Company
Anonymously Report Unlicensed Software with Our Form Now. Get Up to $1 Million.
Special Offer from The Economist
Get 12 issues of The Economist for $12. US subscribers only.
Free Forrester Risk Management Report
Demystifying Enterprise Risk Management. Download Free With Registration.
Report Unlicensed Business Software Use
Earn Up to $1 Million by Reporting Unlicensed Software Use. Fill Out Our Form!




Latest news by
DailyTech

 November 20, 2009

Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank

 November 19, 2009

Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank




pipeboost
Copyright © 1997-2009 AnandTech, Inc. All rights reserved. Terms, Conditions and Privacy Information.
Click Here for Advertising Information