64 bit build better than 32bit?

I’m curious, on a 64bit OS what are the advantages to running a package built for Windows 64 versus Windows 32? 'Cause the 32bit package will run on both architectures. Is there a big performance gain or is it less noticeable?

Anyone have an idea what the performance gains are?

Hey TorQueMoD,

I came across a thread while looking into this that goes into a bit of detail regarding the difference between 32 and 64bit:

While the title of the post is not the same question, I believe some of the information that Ben Marsh gave is relevant here and will at least give you some more information regarding the difference between the two.

Let me know if you have any further questions and I can do my best to get the information for you.

Have a great day

Thank you. For those who come across this post, rather than have you post jumping across the answer Hub, I thought I’d paste in the main answer given by Ben Marsh:

The editor requires a lot more memory than standalone games do, but not everyone has a 64-bit version of Windows.We make the assumption that you’ll want to target as many people as possible with your finished game, and that most games can run in 2gb of memory. So by default we use 32-bit executables.

You can absolutely build a 64-bit-only game if you need to… It’s likely that the 32-bit version will still be faster if you can fit in memory though: most general purpose code won’t be any faster using 64-bit registers, and the larger pointer sizes will just result in more cache misses.

So if I understand him correctly, 32 bit is typcially better as you reach a wider audience (not sure how true that is in 2017) and with ferwer cache misses. The reason you may want to use 64bit is due to a memory limitation with windows 32 bit. He mentions 2gb of memory. Is this system ram? That seems incredibly low considering most games require 8gb for their min spec. Also, could we get some info on how to test to see if your game is within this 2gb memory limit?

I’ve spoken to Ben and to address your questions:

He mentions 2gb of memory. Is this system ram?

  • 2gb is actually the addressable amount of memory in a 32-bit process. Parts of that may be mapped to the graphics card, parts of it can be swapped out to your page file, but yes - 2gb would be the absolute maximum amount of memory it would be possible to allocate.

Also, could we get some info on how to test to see if your game is within this 2gb memory limit?

  • While it is generally faster due to reduced cache misses, I think all our games ship 64-bit versions only now. The sure-fire way to know that you fit in memory is to try it.

Have a great day

Thanks Sean!
So I’m guessing if it doesn’t fit in memory the game simply won’t run? Or will it just crash a lot?

I haven’t run into the situation myself, but I’d imagine the build would crash if there isn’t sufficient memory available.