Arma 3
658 ratings
ARMA 3 Complete Performance Guide [2020] [ENG]
By Kubas
Universal and complete performance guide for ARMA 3 based on personal experience and performed testing.
3
20
2
4
3
2
2
   
Award
Favorite
Favorited
Unfavorite
1. Basic Information
Let's start with basic info: setting cpuCount, exThreads or most other parameters does nothing, they are correctly recognized and set by ARMA on it's own (and exThreads overrides cpuCount anyway, so if someone says to set both then you know how much he knows about optimizing ARMA ;) ). If you set them manually you are just overriding something that was set correctly anyway.
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.

2.1. Editing Arma3.cfg
  1. Go to C:\Users\[your_username]\Documents\Arma 3
  2. Open Arma3.cfg with text editor of your choice (I recommend notepad++)
  3. Find GPU_MaxFramesAhead and set it to 1 (GPU_MaxFramesAhead=1;)
  4. Find GPU_DetectedFramesAhead and set it to 1 (GPU_DetectedFramesAhead=1;)
  5. (Optional) If you have monitor with refresh rate above 60Hz set refresh to your refresh rate (for example: refresh=144;)
  6. Save changes and close file
Why do you change these things? It will reduce input lag, it can increase performance. However fps drops will be more noticeable, but overall performance should be better.

2.2. Editing *.Arma3Profile
This is optional, it's not going to improve performance, but it's recommended anyway.
  1. Go to C:\Users\[your_username]\Documents\Arma 3
  2. Open [your_username].Arma3Profile with text editor of your choice (I recommend notepad++)
  3. Find mouseSmoothing and set it to 0 (mouseSmoothing=0;)
  4. Find mouseAcceleration and set it to 0 (mouseAcceleration=0;)
  5. Find fovTop and set it to 1.03 (fovTop=1.03;)
  6. Find fovLeft and set it to 1.83 (fovLeft=1.83;)
  7. Save changes and close file
Why do you change these things? First two will allow game to accept raw input from mouse instead of game trying to correct mouse movement. Second one will increase FOV from claustrophobic 70° to 90°. You can set FOV how you prefer, just use any of these two for calculators so you will know how to set values:

You will find comparison of different FOV settings in my other guide:
https://steamcommunity.com/sharedfiles/filedetails/?id=1731376270
3. Changing settings in launcher
If you are one of guys that rely on setting parameters for exe instead of using ARMA 3 Launcher then you have to apply appropriate changes on your own. There is no need to make it harder than it is, ARMA 3 Launcher is great GUI tools so if you want to be stuck in DOS era that's your choice.
  1. Start ARMA 3 Launcher
  2. Open Options (upper right corner)
  3. Select Launcher Options
  4. Set "Action after game start" to "Close Launcher after clicking Play"
  5. Select PARAMETERS and go to ALL PARAMETERS tab
  6. Set platform, if you have 64-bit OS pick 64-bit and if you have 32-bit OS pick 32-bit
  7. Tick "Enabled Large-page Support" checkbox
  8. Tick "No Logs" checkbox
  9. 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.

4.1. Performance exe
AUTOMATIC (Recommended):
  1. Open Steam
  2. Open ARMA 3 Properties (right mouse button on ARMA 3 in library)
  3. Go to BETA tab
  4. Enter following code and confirm it: CautionSpecialProfilingAndTestingBranchArma3
  5. Select "profiling - Performance Profiling Build"
This will automatically download newest performance exe once they are available.

MANUAL:
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).
  1. 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.
  2. Unpack downloaded exe to Steam\steamapps\common\Arma 3
  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
  4. Rename your performance exe, for 64-bit to arma3_x64.exe, for 32-bit to arma3.exe

4.2. Memory allocator
NOTE: Armaholic shutdown, I don't have alternative link for blub's malloc. You can either check offical forums[forums.bohemia.net] for mallocs and try few of them or use system one (-malloc=system) - if you are using Windows 10 this might be best option for now
  1. Download custom malloc, e.g. xtbbmalloc by _blub
  2. Unzip downloaded archive
  3. 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
  4. 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\
  5. Start ARMA 3 launcher
  6. Go to PARAMETERS and open ALL PARAMETERS tab
  7. 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
  1. Download and install Process Lasso by Bitsum[bitsum.com]
  2. Start Process Lasso
  3. Start ARMA 3 (game, not launcher)
  4. In Process Lasso click with right mouse button on Arma process -> Priority class -> Always -> Above normal (do NOT ever set it to realtime priority)
  5. Click with right mouse button on arma process -> CPU affinity -> Always -> Untick CPU 0 (do this only if you have 4 or more cores)
NOTE: Alternatively if you don't want to use 3rd party software you can use Task Manager to set priority and affinity, but you will have to do it EVERY time you start game (while with Process Lasso you do it once)
6. Windows optimizations
6.1. Drivers update
Keeping your driver up-to-date is important, because that way you always get new fixes and performance improvements for games. However it's especially important to update your drivers if you are using Windows 10 as May Update will be released shortly and with it WDDM 2.6 (windows drivers architecture). On drivers that don't support WDDM 2.6 there is a performance decrease, but updating drivers to ones that support WDDM 2.6 fixes it (info based on Windows 10 Insider Preview with May update)
  1. Download newest drivers for you GPU and you OS, NVIDIA cards: drivers[www.nvidia.com], AMD cards: drivers[www.amd.com]
  2. Download and unzip DDU by Wagnard[www.wagnardsoft.com]
  3. (only for Windows 10) Disconnect PC from Internet (otherwise after you will delete drivers Windows will attempt to download and install new ones automatically)
  4. Start DDU, close windows that will pop up
  5. Open Options, tick "Enable Safe Mode dialog" checkbox
  6. Restart DDU
  7. Select Safe Mode and allow to reboot into safe mode
  8. Windows will boot in safe mode, DDU should start automatically - if it won't then start it manually
  9. Open Options, ticks all NVIDIA specific or AMD specific options (depending on card you own)
  10. Close options
  11. Select GPU as device type
  12. Select NVIDIA or AMD as device (depending on card you own)
  13. Click Clean and restart
  14. 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.
  15. Restart PC
  16. (only for Windows 10) Connect PC to Internet

6.2. NVIDIA Control Panel
  1. Open NV Control Panel
  2. Go to Manage 3D Settings
  3. Set Power management mode to Optimal
  4. Set Maximum rendered frames to 1
  5. Go to Program Settings tab
  6. Add arma exe file (for 32-bit: arma3.exe, for 64-bit: arma3_x64.exe)
  7. Set Power management mode to Prefer maximum performance

6.3. (Optional) Disable NV Telemetry Container
If you will do this you CANNOT use NV Experience software.
  1. Open services.msc
  2. Find NVIDIA Telemetry Container
  3. Click with right mouse button on it and open properties
  4. Click Stop button
  5. Set launch mode to disabled

6.4. Windows 10 - DVR
  1. Start regedit
  2. Go to HKEY_CURRENT_USER\System\GameConfigStore
  3. Set GameDVR_Enabled value to 0
  4. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\
  5. Create new key and name it GameDVR
  6. Inside create new DWORD 32-bit and name it "AllowGameDVR"
  7. Set AllowGameDVR value to 0

6.5. Standby list cleaner
  1. Download and unzip ISLC by Wagnard[www.wagnardsoft.com]
  2. Start ISLC
  3. 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.
  4. 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.
  5. Press Start button
  6. DO NOT close the app (it needs to be running in background)
Clearing standby list is performed by CPU, so do NOT set values too low as it will just force CPU to clean standby list very often and can negatively impact performance in game. You want it to be cleared as rare as possible but before you will be left with small amount of free RAM.
7. Mods
If you are using low-end or high-end machine you may want to download Enhanced Video Settings mod by Sams. It allows to set graphic settings lower than it's normally possible and higher than it's normally possible. It adds Super Low and Ultra+ settings in game.
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
8.1. General tab
DO NOT reduce sampling unless you have tried other options and still struggle to maintain playable FPS.
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).

8.2. Display tab
Display mode: Fullscreen (or Fullscreen window if you are using more than 1 monitor)
Resolution: Set it to native resolution of your monitor (usually 1920x1080)
Aspect Ratio: Set it to match your monitor (usually 16:9)
VSync: Disabled

8.3. AA & PP tab
Bloom: 0
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
That's all. After you completed everything ARMA should be running better. FPS improvement largely depends on hardware you own, mission you play, mods you use. For me on average it was 5FPS while using fully modded game (almost 80GB of mods) and up to 10FPS while playing KotH. On the top of that stuttering issue I had is completely gone, but bear in mind that freezes/fps drops caused by loading terring while you move are not same as stuttering (to fix/reduce those you need SSD). Your results may be different.
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
Many thanks for all your hard work!
10. EULA
Under no circumstances shall author of this guide be liable for any direct, indirect, incidental, consequential, special or exemplary damages arising out of or in connection with your access or use of this guide and third party content or services or software, whether or not the damages were foreseeable and whether or not author was advised of the possibility of such damages. You (user) are using any or all advice posted in this guide solely on your own responsibility. Use of any or all advice posted in this guide requires you to accept that author cannot be held responsible for any damages and accept this EULA.

It is forbidden to copy, edit or repost this guide without author's permission and without crediting author
209 Comments
Stolt Sep 17 @ 2:12am 
Does this help increase FPS if you're playing on a dedicated server as well?
favekiller Apr 30 @ 2:36pm 
so yesterday night when i did this i was getting a solid like 60+ fps at all times, now i'm peaking at like 30-40 just running around, not sure what happened, if anyone has any idea it would be appreciated.
favekiller Apr 29 @ 4:41pm 
From a solid 25fps while sitting IDLE to upwards of 70-80+ while running around, on a server, with many mods. You sir are a god send and i can't thank you enough.
Kubuchi Khan Jan 1 @ 8:48pm 
@Ryzen114hz Well it's seems to have worked it's self out after it did the reset. Might have had something to do with the windows update I just got. Another funny thing did just happen though. I went to start up steam and got a Fatal Error: Could not open Steamui.dll. Restarted my potato again and now all is well again. Really gotta look into upgrading :steamfacepalm:
Ryzen144hz Jan 1 @ 3:07pm 
@kubuchi khan i've had either that, or a very similiar problem too, so in case you have some hardware that you dont necessarily need to play arma plugged into your pc, try unplugging that. in my case it was some conflict between battle eye and my fanatec wheelbase, that i occasionally use for simracing.
Kubuchi Khan Jan 1 @ 8:59am 
@Kubas
Well I made all the way to step 8 and when I started the game up my PC didn't like something and blue screened. Some kinda Kernel Security Error...:steamsad::SkullofDoom:
teem_yan Sep 6, 2023 @ 1:31pm 
@Kubas sure
Kubas  [author] Sep 6, 2023 @ 12:01pm 
@Moora Go ahead my dude. Would be nice if you'd mention original guide/author and that's all.
teem_yan Sep 5, 2023 @ 2:32am 
Hi, @Kubas. Can I make a Russian translation of your guide? :seriousboss:
Kubas  [author] Jul 22, 2023 @ 2:43pm 
@Mildly_Interested no loges does improve performance. It doesn't matter if it's async, this is still computing that requires resources to be done. If you have a problem and want to figure it out then enable logs duh... this is not something that should be running all the time.
It will crash. I'm speaking from experience.