Windows target platform Windows vs Windows x64

If you set the target platform to Windows, does this mean if someone runs it on an x64 machine, it won’t be optimized for x64?

Alternatively, if you set the target platform to Windows x64, does this mean if someone runs it on 32-bit, it won’t work?

A Windows_64 program will not run on Windows 32.

However, a Windows 32 program will happily run (at full speed) under Windows 64. When tasked to run a 32-bit program in a 64-bit operating system, any x64 compatible processor uses the native 32-bit operations to make programs run as fast as possible.

As a poor man’s evidence, look at the AAA-games around you. All of them are still 32-bit games and run fine and fast on your 64-bit system.

There are only two reasons you need to use Windows 64 as target platform:

  • You either need to use more than 4GB of RAM in your game
  • You need access to a 64-bit native library for which no 32-bit equivalent exists.

In 99.9% of all cases, you can simply ignore the 32-bit vs 64-bit divide on Windows and go for 32-bit instead.