WIN32 or WIN64

Started by
4 comments, last by RobM 8 years, 6 months ago

I decided to upgrade my game engine (C++, DirectX9.0c) to 64 bit. I'm not actually even sure which platforms I'm targeting yet, PC to start with and, if it gets anywhere, Xbox one and PS4 - I'm aware of how tricky it can be to get onto these latter platforms.

Is there any reason I shouldn't upgrade to 64bit?

Advertisement

Are you running out of memory/resources while you target x86? If not then the question becomes "Is it worth it?" :)

Are you running out of memory/resources while you target x86? If not then the question becomes "Is it worth it?" smile.png

That was the initial reason, yes

Are you running out of memory/resources while you target x86? If not then the question becomes "Is it worth it?" smile.png

That was the initial reason, yes

The market is now dominated by x64 machines, only 12% of the windows OS installbase in the steam hardware survey is running a 32bit version of windows on mac and linux there is no more 32bit version in the survey. Another reason to add x64 support is so you find those nasty bugs in your code where you are assuming that a pointer is always of size 4, these kinds of constructs in your code are bad.

One of the other reasons could also be that all 64bit cpus support SSE2 so that SIMD instructions in release builds are enabled by default, this might give you a performance increase for free.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

It should be noted when using DX11, I often run out of memory when debugging graphics (GPU capture) in 32-bit space due to the amount of memory copies the debugger needs to do when capturing all resources.

Also for DX12, Vulkan & GL4, 64-bit is strongly recommended since all those persistent mapped buffers can take a significant chunk of the address space (not to mention the tools in the future will need a ton of memory to do the capture).

Updated everything to 64bit and already things feel slightly faster - not quite sure why. In the end it was a painless switch, the only code change I had to make was to SetWindowLong

This topic is closed to new replies.

Advertisement