ARMA 3 Complete Performance Guide [2020] [ENG]
1. Basic Information
In this guide I'm going to show you how to really improve performance. However don't expect miracles, in ARMA limiting factor in 99% of cases is CPU. ARMA puts 90-95% of work on one thread, so what you need the most to get good FPS is CPU with high IPC and high clocks.
Mods also reduce performance, so if you use many mods you should disable them one by one, check which one reduces performance the most and then decide if it's really worth to use it. In my case all mods I use are reducing performance by 20fps (!) when compared to vanilla.
Important: Advice given by author in this guide were personally tested by him and are used by him. However this not mean they will not cause issues on different configurations or different PCs. Author of this guide is not responsible for any issues or damages caused by use of any or all advice in this guide. Any changes to game, system and your PC are applied on your own responsibility. Please also see EULA.
2. Editing game files
There are few things you will need to edit in game files to make it run better.
- Go to C:\Users\[your_username]\Documents\Arma 3
- Open Arma3.cfg with text editor of your choice (I recommend notepad++)
- Find GPU_MaxFramesAhead and set it to 1 (GPU_MaxFramesAhead=1;)
- Find GPU_DetectedFramesAhead and set it to 1 (GPU_DetectedFramesAhead=1;)
- (Optional) If you have monitor with refresh rate above 60Hz set refresh to your refresh rate (for example: refresh=144;)
- Save changes and close file
- Go to C:\Users\[your_username]\Documents\Arma 3
- Open [your_username].Arma3Profile with text editor of your choice (I recommend notepad++)
- Find mouseSmoothing and set it to 0 (mouseSmoothing=0;)
- Find mouseAcceleration and set it to 0 (mouseAcceleration=0;)
- Find fovTop and set it to 1.03 (fovTop=1.03;)
- Find fovLeft and set it to 1.83 (fovLeft=1.83;)
- Save changes and close file
- Metalman's calculator[hia3.com]
- OLoKo64's calculator[gamecalculator.netlify.app]
You will find comparison of different FOV settings in my other guide:
https://steamcommunity.com/sharedfiles/filedetails/?id=1731376270
3. Changing settings in launcher
- Start ARMA 3 Launcher
- Open Options (upper right corner)
- Select Launcher Options
- Set "Action after game start" to "Close Launcher after clicking Play"
- Select PARAMETERS and go to ALL PARAMETERS tab
- Set platform, if you have 64-bit OS pick 64-bit and if you have 32-bit OS pick 32-bit
- Tick "Enabled Large-page Support" checkbox
- Tick "No Logs" checkbox
- Tick "No Pause" checkbox (this one just allows ARMA 3 to run in background when it's minimized/not active)
4. Performance binary and memory allocator
Dwarden (ARMA 3 developer at Bohemia Interactive) is releasing improved exe files after every patch. I highly recommend using them as they do make a noticeable difference. There are two ways to download them, automatic (many thanks to Greenfist/Sams for pointing this out as I wasn't aware!) and manual. It's safe to use manual, but please remember to ALWAYS download files straight from Dwarden's dropbox or google drive, never use some 3rd party reuploads as they may not be legit performance exes, but may contain malware.
You can find Dwarden's post that links to new exe files here[forums.bohemia.net].
IMPORTANT: When new arma version comes out you will need to switch back to default branch from performance one (see 4.1 but select default instead of profiling) or otherwise game will crash.
- Open Steam
- Open ARMA 3 Properties (right mouse button on ARMA 3 in library)
- Go to BETA tab
- Enter following code and confirm it: CautionSpecialProfilingAndTestingBranchArma3
- Select "profiling - Performance Profiling Build"
NOTE: You will have to redo this after every ARMA 3 update as every update will replace exe. You need to pick proper exe for your OS version (32-bit or 64-bit) and your game version (currently 2.00).
- Go to Dwarden's google drive[drive.google.com] or dropbox[www.dropbox.com] and download newest performance exe (currently: 200perf -> perf09 -> performance exe). If you use 64-bit OS and 64-bit ARMA client download arma3client_x64_performance and if you use 32-bit ARMA client download arma3client_performance.
- Unpack downloaded exe to Steam\steamapps\common\Arma 3
- Rename your current exe, for 64-bit: arma3_x64.exe to arma3_x64.exe.backup, for 32-bit: arma3.exe to arma3.exe.backup
- Rename your performance exe, for 64-bit to arma3_x64.exe, for 32-bit to arma3.exe
- Download custom malloc, e.g. xtbbmalloc by _blub
- Unzip downloaded archive
- Copy config file to Steam\steamapps\common\Arma 3, for 32-bit: copy xtbbmalloc.ini from malloc\32-bit\Configurations\LargePages, for 64-bit: copy cma.ini from malloc\64-bit\Config\WithLargePages
- Copy dll file to Steam\steamapps\common\Arma 3\Dll, for 32-bit: copy xtbbmalloc.dll from malloc\32-bit\, for 64-bit: copy cma_x64.dll from malloc\64-bit\Default\
- Start ARMA 3 launcher
- Go to PARAMETERS and open ALL PARAMETERS tab
- Enable "Memory allocator" checkbox and set it to one matching previously copied one (for 32-bit: xtbbmalloc, for 64-bit: cma_x64)
5. Process priority and CPU affinity
- Download and install Process Lasso by Bitsum[bitsum.com]
- Start Process Lasso
- Start ARMA 3 (game, not launcher)
- In Process Lasso click with right mouse button on Arma process -> Priority class -> Always -> Above normal (do NOT ever set it to realtime priority)
- Click with right mouse button on arma process -> CPU affinity -> Always -> Untick CPU 0 (do this only if you have 4 or more cores)
6. Windows optimizations
- Download newest drivers for you GPU and you OS, NVIDIA cards: drivers[www.nvidia.com], AMD cards: drivers[www.amd.com]
- Download and unzip DDU by Wagnard[www.wagnardsoft.com]
- (only for Windows 10) Disconnect PC from Internet (otherwise after you will delete drivers Windows will attempt to download and install new ones automatically)
- Start DDU, close windows that will pop up
- Open Options, tick "Enable Safe Mode dialog" checkbox
- Restart DDU
- Select Safe Mode and allow to reboot into safe mode
- Windows will boot in safe mode, DDU should start automatically - if it won't then start it manually
- Open Options, ticks all NVIDIA specific or AMD specific options (depending on card you own)
- Close options
- Select GPU as device type
- Select NVIDIA or AMD as device (depending on card you own)
- Click Clean and restart
- After your PC will restart install previously downloaded drivers. For NV cards I recommend do install "light" pack of drivers, during installation select NVIDIA graphic driver (without GeForce Experience) -> Custom install -> untick everything but Graphics driver, PhysX System Software, NVIDIA NGX. You can tick HD Audio Driver if you use HDMI/DP to transmit audio from PC to monitor.
- Restart PC
- (only for Windows 10) Connect PC to Internet
- Open NV Control Panel
- Go to Manage 3D Settings
- Set Power management mode to Optimal
- Set Maximum rendered frames to 1
- Go to Program Settings tab
- Add arma exe file (for 32-bit: arma3.exe, for 64-bit: arma3_x64.exe)
- Set Power management mode to Prefer maximum performance
- Open services.msc
- Find NVIDIA Telemetry Container
- Click with right mouse button on it and open properties
- Click Stop button
- Set launch mode to disabled
- Start regedit
- Go to HKEY_CURRENT_USER\System\GameConfigStore
- Set GameDVR_Enabled value to 0
- Go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\
- Create new key and name it GameDVR
- Inside create new DWORD 32-bit and name it "AllowGameDVR"
- Set AllowGameDVR value to 0
- Download and unzip ISLC by Wagnard[www.wagnardsoft.com]
- Start ISLC
- Set "The list size is at least" value depending on your available RAM (less RAM = set it to lower value). For 16GB of RAM I recommend 1200MB, for 8GB probably 800MB should be good.
- Set "Free memory is lower than" value depening on your available ram. For 16GB of RAM I recommend 2000MB, for 8GB probably 1500MB should be good.
- Press Start button
- DO NOT close the app (it needs to be running in background)
7. Mods
If you get very low FPS you can set Textures and Object to super low.
https://steamcommunity.com/sharedfiles/filedetails/?id=1223309664
8. In-Game settings
If you struggle with performance you should start decreasing settings in following order: Cloud, Shadow, Particles, Terrain, Objects. Try to keep Objects as high as possible, they are quite taxing, but important (they decide how complex a scene can be).
PIP: If you have performance issue in vehicles or in any other situation where there are mirrors or dashboard cameras you should reduce or even disable PIP. It basically render another scene (what you see in car mirror in game is not a reflection, is new scene rendered from different camera position and displayed in game)
Textures: If you have enough vram (4GB and above) you are free to set it on v. high or ultra. Unless you don't have enough vram there is no need to set it differently.
When it comes to visibility IMO there is no need to go over 5000 with overall (I recommend 4000), 4000 with object (I recommend 3000) and 100 with shadows (I recommend 50).
Resolution: Set it to native resolution of your monitor (usually 1920x1080)
Aspect Ratio: Set it to match your monitor (usually 16:9)
VSync: Disabled
Radial blur: 0
Rotation blur: 0
Depth of field: 0
Sharpen: 100
Most taxing here is PPAA, FSAA (especially when paired with ATOC) and AO. If you struggle with performance disable PPAA, reduce FSAA and AO (or even disable if needed).
Anisotropic filtering have minimal performance impact so I recommend to leave it at least on high.
NOTE: If you are decreasing graphic settings, samapling, etc. and still can't get playable FPS that means CPU is limiting you.
9. Summary
If you still struggle to get good FPS then it may be a result of too slow CPU (GPU is rarely an issue in ARMA), unoptimized mission, unoptimized/too many mods.
I would like to thanks creators of all software that allows to perform these optimizations (in random order):
- Dwarden from Bohemia Interactive for continuous work to improve game and it's performance
- _blub from Armaholic for custom memory allocator
- Wagnard from Wagnardsoft for DDU and ISLC
- Jeremy Collake from Bitsum LLC for Process Lasso
- Greenfist/Sams for Enhanced Video Settings mod and pointing out easier way to get performance exe files
10. EULA
It is forbidden to copy, edit or repost this guide without author's permission and without crediting author
This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.