Final Thoughts

Having seen the results of the hotfix, we can unequivocally say that anyone doing serious gaming under Windows Vista should install the hotfix (and the latest drivers for their video card) at the first chance they get. It's not a solution to the 2GB barrier, but it is a solution to Vista's extreme virtual address space usage. For gamers who are or may be experiencing crashes related to the 2GB barrier, and who are weary of the fixes we outlined in part 1, this is the best solution to resolving the problem for now.

We'd like to pause on "for now" though, as in spite of our enthusiasm for this hotfix we can't ignore the fact that this is a fix to take care of what we feel was a stupid problem in Vista long-overdue for a solution, but that's it. This hotfix won't resolve the 2GB barrier; at best it buys some more time for the 32-bit (x86) version of Vista, and at worse it's no better for applications that don't make heavy use of video memory. The 2GB barrier is still the imposing problem this series is all about, and dealing with it won't be any easier, but with this hotfix at least status quo is (nearly) maintained a bit longer.

As for what can be done to deal with the forthcoming messy transition, our views are still those that we started with at the beginning of this series. There are many interim solutions, but the only real solution is moving to 64-bit operating systems with 64-bit applications. Due to the overhead involved with such a transition we fear that this process may get a late start and won't be complete for a few years, while in the meantime users will still be dealing with the kind of crashing and odd behavior that results from hitting the 2GB barrier. Making the best of this messy transition will require some work from everyone from developers to users, if everyone is willing to put in the effort and deal with the problems.

It's worth noting that Microsoft's own solution for the issue is the same as ours, although slightly more forceful and we suspect slightly more profit-motivated (Windows XP users will have to pay to upgrade to Vista x64):

The long-term solution to this virtual address space problem is 64-bit hardware, which has significantly more address space. Windows Vista X64 provides 8 TB (8,096 GB) of user-mode virtual address space to native 64-bit applications. This is large enough to allow growth on both video memory configurations and application memory usage for many years.

Independent software vendors (ISVs) are strongly encouraged to port their games to native 64-bit applications. All graphics independent hardware vendors (IHVs) already make WDDM drivers available for 64-bit platforms at the same time as x86. Microsoft provides several tools that enable ISVs and IHVs to port their applications and drivers to the 64-bit platform. The Windows Logo Program requires that all third-part device drivers that are logo'd for Windows Vista comply with the 64-bit requirements.

Testing the KB940105 Hotfix
Comments Locked

37 Comments

View All Comments

  • Ryan Smith - Tuesday, August 14, 2007 - link

    You're right in that the 2GB barrier seems academic when we have the 4GB limit right above that, but in practice it's not. All 3 of the major games we listed run just fine with 2GB of RAM, yet all of them were prone to crashing due to running out of virtual address space(especially under Vista) which means that the real problem is the 2GB barrier and not the 4GB limit. In other words developers don't have another 2 years to put off worrying about some "way off in the future" problem, they must start doing so today.

    You're probably right in that we're going to see some developers tighten up their code in the face of the 2GB barrier. I fear we may also see them simply stop raising the bar altogether, and turn the PC in to some twisted static console.
  • leexgx - Tuesday, August 14, 2007 - link

    i beleve windows only alowes 2gb (+2gb virtual) in 32bit mode (even if the OS is 64 bit if the program is 32bit windows 64 uses the same rules as 32bit os for compatiblity so its stuck with 2gb realy untill programs become native 64bit but thats an long time before that ever happens 5-8 years maybe)
  • bsteff - Monday, August 13, 2007 - link

    I will NEVER use any form of Vista because I am unalterably opposed to the DRM and the insulting philosophy behind it. As a Physician who uses a Windows XP machine to view critical patient images, I cannot tolerate the "tilt bits" and degradation that Vista will cause. Maybe one day Microsoft will get this DRM right but it usually takes them at least 3 tries and neither I nor my patients can take that chance! (automatic image degradation, processing slowdown, etc.if DRM violation is suspected by Vista) The memory problem is the last straw as it is obvious that MS wants to use the flaws in XP 64 bit to drive users into Vista (and give MS control of their own machines) For me the only way to go is Linux/Unix. What MS does is irrelevant. I am pressing our imaging software suppliers to develop for Linux and get rid of the entire MS problem in one fell swoop.
  • yyrkoon - Tuesday, August 14, 2007 - link

    Uh . . . O-K . . . What does that have to do with the article at hand ? No one is forcing you to use any form of Windows, and I wish you *NIX Zealots would resist 'sharing' your oposition to anything MS related, or at least stay where people may listen or believe you (slash dot ring a bell ?).

    Anyone who uses Windows has most likely already passed by the hurdles those of you who are opposed to using Windows have not. We really, REALLY, do not wish to 'share' in your misery . . . Next thing you know, you'll be telling us that MS is forcing you to use Windows, because application developers do not write their code for anything else . . .

    You named only one reason why you would switch from Windows to Linux. I can name you 10's if not 100's of reasons why I would never switch over to Linux 100%. Driver suppport, Intuitive user interface, the OSS development model just to name three.

    Now, ask me what I have just posted has to do with this article . . .
  • smegz68 - Monday, August 13, 2007 - link

    Not only are games hamstringed by Vista. I have issues when working with large meshes and complex characters in apps like Carrara, Poser 7 and Bryce 6. Poser won't even let me load new models without locking up. When I look at the task manager, physical memory is usually maxed out at 2G or very close. The pagefile size is also right there at the 2G mark. Even running them in compatibility mode doesn't help. Thank god I still have a fast XP system I can do that work on.
  • Ryan Smith - Monday, August 13, 2007 - link

    I don't know those applications inside & outside, but I believe the answer is no. This is a fix relating to address space consumption due to video RAM usage, those applications aren't GPU accelerated in any way as far as I know.
  • CZroe - Monday, August 13, 2007 - link

    I'd still would like to see address space assignments in a system running SLi vs. one without. If address space usage can be effectively doubled in this configuration, it could make it significantly easier to hit this limit even with the patch.
  • leexgx - Tuesday, August 14, 2007 - link

    SLI systems have the same work space as one card an 7900 GTX 512 in SLI does not turn it into an 1GB video SLI system the frame buffer is still 512mb (last time i checked as Both cards Need the same Textures as both cards render half of the video thats why its was Daft calling an 7950 GX2 with 1gb of video ram when it can only Use 512MB of it)
  • BikeDude - Thursday, August 16, 2007 - link

    I think you are slightly wrong.

    I suspect the cards won't automatically be addressed as one (and have identical memory contents). The driver will be responsible to transfer textures to both of them, thus they will both need to be mapped into the system memory space. I.e. if you have a 4GB system memory, 32-bit Windows will forget about 2x512MB memory (given two 512MB cards) instead of just 512MB. I read one magazine that claimed they lost more system memory in a SLI system than just a regular one card system (with two 768MB cards, they were left with 2.2GB system memory).

    The processes themselves will likely be unaffected, and as you say the video memory mapped into them will remain 512MB in size. (given a single card or two SLI cards w/512MB memory)

    I hope more people will move to 64-bit Windows and return any hardware that doesn't offer full 64-bit support. Anything else is ridiculous at this point.
  • leexgx - Thursday, August 16, 2007 - link

    ok the part about adress space on windows 32 with an 8800 768mb SLI, only seeing 2.2gb system ram is the driver with kernel space

    what your saying is lost to kernel not used system ram just in this case the other half of the ram is not been used for any thing but kernel drivers (this does not happen in 64bit mode)

    SLI cards max frame buffer is the size of one card Both cards need the texture data on both cards as both of them do half load rendering

    if the cards are Not in SLI mode then yes both cards have inderpendent frame buffers

    if any one has any hard info on this it be nice to know but i am quite sure i am right (i am not braging just from when i got my 7950GX2 as alot of reviews Pointed that out that its not 1gb card its 2x512mb in SLI so max textures before ram use is 512mb)

Log in

Don't have an account? Sign up now