Reodd 0 Posted August 9 Share Posted August 9 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 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 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. 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 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: 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 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. 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. 4.1. Performance exe AUTOMATIC (Recommended): 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" 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). 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 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 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) 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) 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 6.2. NVIDIA Control Panel 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 6.3. (Optional) Disable NV Telemetry Container If you will do this you CANNOT use NV Experience software. 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 6.4. Windows 10 - DVR 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 6.5. Standby list cleaner 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) 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. Link to post Share on other sites
Reodd 0 Posted August 9 Author Share Posted August 9 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! Link to post Share on other sites
Reodd 0 Posted August 9 Author Share Posted August 9 i did not write this guide. i'm just reposting the info Link to post Share on other sites
Recommended Posts