Gaming In 64-Bit: Tom's Tests, Microsoft Weighs In

Introduction

Five and a half years ago, AMD launched its Athlon 64 processor lineup, extolling the benefits of 64-bit computing and what it’d mean for the future. It didn’t take Intel long to follow suit on the desktop. From there, the infrastructure—the operating systems and drivers—began falling into place to support more 64-bit software.

Today, 64-bit compatibility is almost a given. In fact, in the business space, where 64-bit computing has always been seen to have the most promise, applications have emerged that will only run in 64-bit. Even Small Business Server 2008, a relatively entry-level operating environment for businesses with up to 75 users, is now 64-bit-only due to its inclusion of Exchange Server 2007.

Why did Microsoft make the executive decision to launch its latest messaging platform exclusively in 64-bit trim? According to a blog post by Chris Mitchell in Microsoft’s Exchange Performance Engineering Team, the application uses 64-bit addressing to get its virtual hands on more system memory, preventing repeated trips back and forth to disk. In Chris’ example, an older version of Exchange might have access to 900 MB of a 32-bit server’s 4 GB ceiling. In a 4,000-user enterprise, that's 225 KB of RAM per user—not nearly enough for all of the messages, rules, calendar entries, and contacts in a typical mailbox. Moving to 64-bit and upgrading servers to 10s of gigabytes (Chris’ recommendation in that same 4,000-user business is 24 GB) softens the load on storage.

But desktops aren’t nearly as hard-up for memory, right? We expected 64-bit computing to trickle down from the enterprise, but gamers want to know: where is the benefit from this technology today?

Going To 64-Bit: Because You Can…

Enthusiasts running Socket AM2/AM2+ platforms commonly go with 2 GB or 4 GB memory kits. After all, even though DDR2 memory is cheap, 4 GB is still the enthusiast norm—8 GB is closer to workstation-class.

But when you buy a Core i7-based machine and step up to a triple-channel arrangement, it just doesn’t make sense to slide back the other direction and populate with three 1 GB modules. And so now you’re looking at 6 GB and a forced move to 64-bit computing if you want to actually use all of that memory.

…Or Because You Have To

Oh that’s right—I almost forgot. In case you've been living under a rock since AMD started preaching its 64-bit message, the fundamental limit on how much RAM a 32-bit operating system can see is 4 GB (2^32). Anything more simply won’t show up as installed memory.

Once you factor in device addressing, the magic number actually drops below 4 GB. That’s why it’s common for 32-bit systems with 4 GB to report 3 GB plus change in the Windows Device Manager. It’s not a Windows problem, though. Rather, that’s just how x86 architecture works.

Update:A bit of clarification on the above point--the issue of not seeing a full 4 GB of memory in Microsoft's consumer operating systems is shared between hardware and software vendors. The inability of a 32-bit Windows OS like XP or Vista to use the full 4 GB stems from compatibility issues with older chipsets, as indicated in this paper from HP, preventing devices from being mapped high. Thanks to reader nater for his feedback response on the matter.

Workarounds for reclaiming that lost memory have been introduced, of course. Intel’s Physical Address Extensions enabled 36-bit physical address tables, which did help in server environments by upping maximum memory size to 64 GB. However, according to a presentation given by Chuck Walbourn, senior software design engineer in Microsoft’s XNA Developer Connection at Gamefest 2008, PAE never really worked the way it should in with desktop operating systems, which would have needed to map the 4 GB virtual address space into the greater physical space. Drivers were the main problem, he said. They had application compatibility problems, assuming they always had 32-bits with which to work, not 36.

In addition to the 32-bit physical address lines, you’re also limited to 32-bits of virtual address space. Because one bit is reserved for shared kernel memory (used by all processes and the operating system), individual applications only have access to a maximum of 2 GB of private address space. Suddenly, you’re facing limitations that just might have a more profound impact on a desktop machine. Could taking the 64-bit plunge today actually make a significant difference in your gaming experience? That’s what we’ve set out to explore.

Chris Angelini
Chris Angelini is an Editor Emeritus at Tom's Hardware US. He edits hardware reviews and covers high-profile CPU and GPU launches.
  • salsoolo
    i went 64-bit from last year. i hope that game devs go 64-bit. and every programmer too.

    with Windows 7 around the corner, m$ already said that they expect the majority of windows installations will be 64.
    Reply
  • curnel_D
    "Given the very known nature of these virtual address space limitations, you’d think that game developers would be taking a more hurried approach to making the transition."

    This mainly has to do with resources. Most developers use the same engine they've built or bought for a span of many years. Take bioware, for instance, who used the Auroa engine for 9+ years, knowing that it was limited to single threads and low memory.
    To switch to 64-bit, these developers would have to take the time not just to modify their existing engines, but more likely rewrite the entire engine because of the changes involved. Something that some developers just cant afford.
    Reply
  • curnel_D
    Oh, and deffinately drop GTA. None of the GTA or games that use the GTA engine have ever been any good on PC, and have never been consistant in indicating graphics performance due to their poorly developed and optimized code. It's a waste of time.
    Reply
  • amdfangirl
    I say the benefit of having full access to 8GB of DDR2 is enough to make me switch to 64 bit. Not using a Page File and being able to use native 64 bit programs like those found in CS4, is worth it enough. The advantage of being able to execute native 64 bit instructions is absolutely heavenly powerful speed boost(CS3 vs CS4).
    Reply
  • spearhead
    indeed 64-bit is good and you can see that in games and applications which take advantage from it. it might require a bit more ram but then 64-bit can handle more applications running at the same time and execution of those applications seems to be alot faster that is what i can tell from my experience with 64-bit vista
    Reply
  • nathanlh
    One of the reasons that x64 games might run slower on 3GB of system memory than their x86 counterpart is that x64 code should be somewhat larger due to the 64 bit addressing itself. If the x86 code is already feeling the squeeze on 3GB, the x64 code will be even more so - resulting in more memory swapping to disk. Also, one of the benefits of x64 code is the use of more general purpose registers which the x64 games tested here might not have made use of.
    Reply
  • Chris - could you check the same thing on AMD platform? AFAIK there are some performance differencies between AMD and Intel @ 64bit
    Reply
  • amdfangirl
    ^ There were some on Linux with the Athlon 64 and Pentium 4. Gap has really closed tho, I'd say.
    Reply
  • apache_lives
    heh we forget the main concepts here with 64-bit:

    NO ONE uses a system with nothing bar windows a single game installed - they have a few security apps, torrent apps, messenger, keyboard/mouse apps etc - they all sap up resources, so 64 bit gives all apps all the memory they need - for example 8gb is useless to a 32-bit app, but when you got that hungry game ASWELL as a hungry background app etc they both get the full amount of memory!

    Also lessens the "thrashing" effect on HDD's and helps there lifespan etc


    As for why there arnt any benifits for 64 bit games etc - there all still native 32-bit because all those morons still think there 2gb and XP is "sufficent and up to date" - move to 64-bit so we can all benifit!
    Reply
  • amdfangirl
    ^ +1

    We should all be 64 bit.

    Those who play hardcore games should have at least a x64 proc.

    So, devs should make 64bit games simply.

    The world will transition in due time.

    We just are at the frontier.
    Reply