Until now I've seen that many games are still compiled in 32-bit architecture although nearly 50% of current Windows users are on 64-bit OS? Why is this?

If the reason is for getting larger audience (since 32-bit app could run on 64) why don't they make two versions of it, since it is more or less about recompilation and running 64 bit apps could give performance benefit due to more available CPU registers and other features.

  • \$\begingroup\$ World of Warcraft just started shipping a 64-bit executable and I believe Source games (at least Valves) have 64-bit versions. So it looks like people are hopping on the bandwagon. \$\endgroup\$ – Kyle Mar 28 '12 at 5:32

This MSDN blog about why there isn't a 64 bit Visual Studio version addresses many of the issues that also affect games. The gist of it is that going to 64 bit may actually hurt performance in many cases because of the effect on the processor's cache (more data with 64 bits, but the same size cache).

The additional addressable memory could help, but few consumer machines have more than 4 gigs of memory anyway. Add that to the pain of distributing two binaries for Windows, and it's easy to decide that the time isn't right for 64 bit games (yet).

  • 5
    \$\begingroup\$ I think your second paragraph was true 2 years ago, but not today. \$\endgroup\$ – Bart van Heukelom Jul 28 '10 at 20:12

At my previous job we ported our entire engine (MMO) to 64bit, and ended up running a 64bit client in a few places as part of the development pipeline in order to preprocess data. But, we would never ship a 64bit client to end users.

First, the performance improvement is very minor, and most PC games end up being GPU limited in any case.

Second, very few end users have enough ram to take advantage of a 64bit executable, and any engine that is even vaguely designed for consoles (which max at 512mb remember) is not going to be optimized for large available memory.

Finally, having 2 executables in your distribution pipeline is a giant pain in the ass. You can't only ship a 64bit executable, because then 30% of your audience can't run it. So you have to ship both a 64bit and a 32bit executable, as well as some sort of wrapper that runs the correct one. If you're an online game that means an extra multi-megabyte file to patch every time any code changes, and additional complexity in making sure the right version gets to the right player. It's just not worth the effort for the minor benefits.


If it was simply a matter of recompilation we would have 64bit version of all the games.

Unfortunately it's not that easy, specially with game engines with an older code-base.

Porting to 64bit would take lots of effort in this case. Simply put the advantages for now weren't enough for this to be worth.


Not the answer you're looking for? Browse other questions tagged or ask your own question.