Page MenuHomeFeedback Tracker

Engine is running in 32-bit mode when it should be in 64-bit mode
Closed, ResolvedPublic

Description

The ArmA engine is still using the modified original engine from OFP. The majority of issues with performance are directly related to the engine code limiting the game. If the engine were running in 64-bit, it would allow for the full-optimization of the game to use all the CPU cores available and All of the GPU available. The current engine limits the user to ~2GB of RAM. Most users are running in excess of 4GB. I for one am running at 16GB of RAM. Our GPUs these days generally have more than 2GB of GDDR5 RAM. The Engine is limiting the game and producing very poor optimization in every category. It realistically should not be that difficult to re-code the engine for 64-bit. Most computers these days (especially gaming ones) run a 64-bit OS.

Details

Legacy ID
1387741674
Severity
None
Resolution
Duplicate
Reproducibility
Always
Category
Engine
Additional Information

I typically see a 30% speed improvement for compute-intensive code on x86-64 compared to x86. This is most likely due to the fact that we have 16 x 64 bit general purpose registers and 16 x SSE registers instead of 8 x 32 bit general purpose registers and 8 x SSE registers. As to the practical benefits of 64-bit... the most obvious is that you get a bigger address space, so if you map a file, you can address more of it at once (and load larger files into memory). Another benefit is that, assuming the compiler does a good job of optimizing, many of your arithmetic operations can be parallelized (for example, placing two pairs of 32-bit numbers in two registers and performing two adds in single add operation), and big number computations will run more quickly. A more accurate benefit, aside from the larger address space, is that there are more general purpose registers, which means more local variables can be maintained in the CPU register file, which is much faster to access, than if you place the variables in the program stack (which usually means going out to the L1 cache).

some basic info:

32-bit systems are limited to 3.2 Gigabytes of RAM.

64-bit systems allow for faster processing and up to 17 Billion gigabytes of RAM.

The move to a 64bit engine should also work server side. If the servers use a 64bit engine instance, the ability of a server to meet the plans for 100+ slot servers would increase as well as the overall performance of said servers.

Event Timeline

LinuxMaster9 edited Additional Information. (Show Details)
LinuxMaster9 set Category to Engine.
LinuxMaster9 set Reproducibility to Always.
LinuxMaster9 set Severity to None.
LinuxMaster9 set Resolution to Duplicate.
LinuxMaster9 set Legacy ID to 1387741674.May 7 2016, 4:50 PM
ceeeb added a subscriber: ceeeb.May 7 2016, 4:50 PM
ceeeb added a comment.Sep 20 2013, 6:43 AM

Duplicate of #13693

MadDogX added a subscriber: MadDogX.May 7 2016, 4:50 PM

Please search before posting.