In this thread I would like to discuss ways and means that allow us to improve the clientside (serverside is of secondary relevance for this thread) performance in Arma 3
Installing MALLOCs, changing Windows settings, AMD/Nvidia settings and Arma 3 settings/profile settings for example.
Let us start with a new alternative MALLOC.
Performance increase in Arma 3 using Intel AVX512(F) – A brief, first analysis
Foreword - a short history of performance development in Arma 3
We all know the lamenting about low fps in the Arma (3) franchise. A substantial amount of
low fps can be attributed to unoptimized client and server PCs. For example: you simply cannot expect your PC RAM to perform well in Arma with JEDEC timings and disabled XMP profile. You cannot compare the Arma 3 simulation with a simple, trivial game. Arma 3 delivers and computes so much more.
BI constantly updates Arma 3 and communicates with the community about performance thanks to the work of dedmen and Dwarden. A lot of development is still done for us and Arma 4 - as of 2022 - might still be three or four years away, albeit we are all eager to test Enfusion/Reforger.
Intel has finally shrunk its CPU die size to 10nm with large effects in performance.
MSI has delivered a motherboard that allows for AVX512 instruction set to be enabled if the E-Cores are turned off.
The addition of new mallocs by BI and modders/progammers allows to improve performance even more.
Why this short sketch of history? Well, simply put, since the days when Ryzen 1st Gen. and Intel 6th Gen. were top-notch CPUs this process has allowed to increase the fps by almost 90 fps, making Arma 3 a smoother and more pleasant experience in the field of simulation.
1 Test System
Reduced the settings to get 365/24/7 stability. All system components are not pushed to the limit.
In words: CPU 12900K@5.3 Ghz, Cache Frequency@4.8 Ghz, E-Cores, AVX512 offest=0, Guardband Voltage=128, HT-off, Battle Eye off , nologs on, RAM 3866 CL14-14-14-30-1N Gear 1, RTX 3060 TI non-OC, G-Sync/V-Sync off, Arma 3 Full HD Standard Settings, Windows 11with "Lock pages in memory".
(An un optimzed system with JEDEC RAM times, Gear 2 mode and stock CPU and Cache settings reduces the FPS by half to 70 FPS. You need to work on your system for Arma 3. HT on has not shown a consistent increase of performance but a measurable and repeatable decrease of 2-7 FPS and is hence turned off. Further testing is needed.)
2 Test results
The following test runs were done.
1. Vanilla official Tbb (no matter if huge pages is enabled, as it does not utilize it)
2. Legacy CMA with huge pages enabled in cma.ini - one run only displayed in Table1 but mutiple test runs were done to ensure consistency
3. GJK's Tbb v2021.5.0 w/o AVX (github.com/GoldJohnKing/oneTBB/releases/tag/Arma-3-v2021.5.0-20211230)
4. GJK's Tbb v2021.5.0 w AVX2 (not yet published)
5. GJK's Ampersand Edition Tbb v2021.5.0 w AVX512 (see below)
6. GJK's mimalloc v2.0.3 (github.com/GoldJohnKing/mimalloc/releases/tag/Arma-3-v2.0.3-20211230)
7. GJK's mimalloc v1.7.3 (github.com/GoldJohnKing/mimalloc/releases/tag/Arma-3-v1.7.3-20211230) - one run only displayed in Table1 but mutiple test runs were done to ensure consistency
On the new Malloc GJK's & Ampersand Edition Tbb v2021.5.0 w AVX512
It has now been released. It is the product of collaboration between Gold John King and Ampersand (dadax) and does include the AVX512 Intel instruction set in an alternative Arma 3 memory allocator.
-The GJK's & Ampersand Edition Tbb v2021.5.0 w AVX512 Mallocs results in the highest result
and highest minimum fps and should be applied to all capable Intel CPUs.
-The Delta between GJK's Ampersand Edition Tbb v2021.5.0 w AVX512 Malloc and the Vanilla official Tbb was up to 10% (see Table 1)
-The GJK's mimalloc v2.0.3 and GJK's Tbb v2021.5.0 w AVX2 Malloc both resulted also in very high fps, albeit lower minimum fps. They are both a viable alternative for the majority of desktop CPUs that don't allow for the application of the AVX512(F) instruction set. GJK's mimalloc v1.7.3 showed some instability issues in a 25+ multiplayer enviroment, further testing of GJK's mimalloc v2.0.3 is therefore necessary and advised. 32GB of RAM are recommended
Further findings of this and previous test runs
-Higher overall system performance with Intel's 12th Gen. CPUs results in more consistent test runs and therefore reduces the need for more test runs drastically to avoid observational errors.
-Disabling E-Cores in Intel's 12th Gen. CPUs allows not only to use AVX512, but improves results in all possible scenarios
4 Future development of AVX512
Leaks have shown that it is highly probable that the AVX512 instruction set will be introduced to the future Ryzen Zen 4 platform in 2022
Thus the relevance of this memory allocator might even increase, beyond the present Intel Server, HEDT and select 12th Gen. desktop CPUs.
5 A thank you list
Thanks for GrooveC and Eszett for personal advise on RAM tuning.
-Ampersand (dadax in the BI forum) and Gold John King 2022-3-1 (revised 2022-5-1)
P.S.: I am not identical with Ampersand38 - but I appreciate his work highly