BOOST YOUR FPS! A Comprehensive Guide for ArmA 2 OA
ɪɴᴛʀᴏᴅᴜᴄᴛɪᴏɴ
Hi Everyone!
Yet another FPS Optimization guide....Hopefully my guide can offer a point of difference, or even make it easier to understand certain aspects.
I created this guide years ago on my website, but never got around to distributing it. But my love for this game and its community is huge, so before deactiviating the old site completely, I thought i'd paste it here for the world to use.
For your reference, these are my PC Specs, so you can base your settings off of the comparison between mine and yours.
Motherboard: MSI Z270
Processor: i7-7700K
GPU: GTX 1080 Watercooled
RAM: 32GB Corsair Vengeance RGB 3000MHz
SSD (M2): Intel 600P 1TB ~ ArmA is located on this SSD
There are some instructions that advanced users may only understand, I have provided as many links as I can, to help the more 'novice' users.
There are a huge amount of guides available now for this game. This is a collection of helpful tips & tricks I have picked up along the years to help with the optimization of ArmA 2.
Check out my ArmA 3 guide, also!
http://steamcommunity.com/sharedfiles/filedetails/?id=926282378
I hope this can help you!
ᴘʀᴇ-ɢᴜɪᴅᴇ ᴄʜᴇᴄᴋʟɪsᴛ
Before we get into the guide, you might want to just check off the following:
✔ - Update to the latest drivers for your Graphics Card, NVIDIA[www.nvidia.com]or AMD[support.amd.com]
✔ - Make sure windows is up-to-date.
✔ - Load the game onto an SSD. (Optional, but will increase load times and FPS in some cases)
✔ - Update chipset drivers, Network drivers, BIOS (Optional, Make sure you know what you're doing)
Core Unparking Utility
Click Here[www.coderbag.com] to download.MarkC Mouse Acceleration Fix
Click Here[donewmouseaccel.blogspot.com.au] to download.I won't provide instructions on how to use these applications. Instructions can be found at the download links I have provided.
sᴛᴇᴀᴍ ʟᴀᴜɴᴄʜ ᴘᴇʀᴀᴍᴇᴛᴇʀs
Steam Launch Perameters offer a range of different compatibility and optimization options to the game before you even get to the menu. To access the Steam Launch Perameters for ArmA 2, you will need to right-click 'ArmA 2: Operation Arrowhead' in your game library and select 'Properties', from there, in the 'General' tab, click 'Set Launch Options'.
I will list the most commonly used perameters below.
- -window | Displays ArmA in windowed mode by default.
- -world=empty | Selects an empty world to load upon game launch. This will improve launch loading times. NOT server loading times.
- -nosplash | Disables splash screens (Load Screens)
- -skipIntro | Disables all intro's when the game is launched. (Helps with launch loading times)
- -noLogs | Disables the logging feature of ArmA. (Disabling this option dramatically increases performance but hinders any troubleshooting efforts. It will need to be removed from your launch perameter list if you experience any bugs within the game and need to fix them)
- -maxMem | Defines memory allocation in MegaBytes. 256MB is the default and minimum. This should be changed depending on how much RAM you would like to allocate to ArmA. 2047MB is the maximum amount of memory that can be allocated to ArmA. e.g -maxMem 2047
- -maxVRAM | Defines video card memory allocation in Megabytes. 128MB is default and minimum. This should be changed depending on your video card's VRAM. 2047MB is the maximum. You can input values higher than 2047MB (2GB), but be prepared that you MAY encounter some issues. e.g -maxVRAM 2047
- -cpuCount=<number> | Defines the available CPU cores available. Changing this setting overides the Auto-Detection, which uses the value windows provides. e.g -cpuCount=4
- -exThreads=<number> | Defines the available CPU threads available. Changing this setting overides the Auto-Detection, which uses the value windows provides. e.g -exThreads=8
- -mod=<string> | Loads the specified mods. Multiple paths to mods can be inserted, but must be seperated by a semi-colon. Using this perameter will disable the in-game mod management UI. e.g -mod=F:\Program Files\Steam\SteamApps\common\Arma 2 Operation Arrowhead\@DayZ_Epoch;F:\Program Files\Steam\SteamApps\common\Arma 2 Operation Arrowhead\@DayzOverwatch
- -noPause | Allows the game to run even when Alt-Tabbed or minimized. (This is a personal preference, but helps when Alt-Tabbed to get back in the game quickly).
- -high | Sets ArmA as a high value CPU process.Remote Connection Options
Using these perameters will enable you to join a server directly without having to use the in-game UI. It will launch the game and connect to the server automatically. Make sure that you use both the -connect=<ip> and -port=<number> perameters. If the server has a password you will also need to include the -password=<string> perameter. - -connect=<ip> | Used to launch directly into a server using it's IP address. e.g -connect=111.222.33.4
- -port=<number> | Used to launch directly into a server using its Port number. e.g -port=2302
- -password=<string> | Used to launch directly into a server if it is password protected. e.g -password=keepitmello
What perameters should you use?
This is my current Launch Perameter line:
-noLogs -high -noPause -nosplash -world=empty -skipIntro -maxMem=2047 -maxVRAM=4094
Obviously you will need to change these values depending on what components you use, making sure to enter the MB values correctly. If you are unsure of what values you need to use, click this link.[www.pcadvisor.co.uk]
A FULL LIST of startup perameters can be found HERE.[community.bistudio.com]
ɪɴ-ɢᴀᴍᴇ ɢʀᴀᴘʜɪᴄ sᴇᴛᴛɪɴɢs
The settings I have provided should suit an average build system.
First of all we need to access the graphics menu. While in-game, press 'ESC' and click 'Options', then Video Options. Make sure to click the 'Advanced' button at the bottom so you can access the Advanced Options.
- Visibility | Essentially your View Distance. This is set server side (on multiplayer), so adjust this to whatever you like. It will have no effect on FPS whatsoever. If you are playing singleplayer ArmA, however, then adjust it to whatever your preference may be, this will effect FPS.
- Brightness | Purely a Personal Choice. Crank this up at night to have a visibility advantage.
- Gamma | Purely a Personal Choice. This changes the lightning and contrast. Crank this up at night to have a visibility advantage.
- Quality Preference | This is a set of presets that ArmA provide - graphic wise. Going from Very High to Very Low. Because you will be customizing all your graphic settings, this will change automatically so there is no need to change this.
- Interface Resolution | Make sure to set this to your native monitor resolution.
- 3D Resolution | This is the rendered resolution of the game. Setting this to your monitors native resolution will give you the best result. Changing it to a resolution LESS than your native resolution will increase performance, but will make the game seem very blurry.
- Texture Detail | This determines how detailed textures will be rendered. Textures are used on characters, houses, weapons etc. This can usually be set to Very High without too much of a performance hit.
- Video Memory | Leave this as default. Otherwise it can interfere with the custom video memory settings you may have used in the Startup Perameters. Changing this setting to the provided values WILL have detremental effects, as ArmA's memory presets, are by default, very low.
- Anisotropic Filtering | This controls how textures and terrain are rendered at a distance. If you have this setting on low, textures will seem diffused and blurry at a distance. Depending on your card this might not cause a performance impact at all, most people can set this to High or Very High without much of an issue.
- Antialiasing | This setting, in my opinion, should always be turned off. Unless you have a high-end PC, then set it at Low or Medium What it does is doubles, or even triples your image to smooth out edges and that causes a big performance hit.
- ATOC | (Alpha to Coverage) effects antialiasing on trees and grass. This setting doesn't make any major changes, but it does affect photorealism of trees and the like. If you use antialiasing you will have the best results if you set this to "All trees + grass", otherwise leave it at Disabled.
- Terrain Detail | This controls how detailed terrain will be, meaning how trees and grass will be rendered. This can impact performance greatly depending on the servers view distance. I suggest leaving this at Low.
- Objects Detail | This is how detailed weapons, people and some housing details will be. This can, in most cases, be set to Very High without a FPS drop.
- Shadow Detail | This controls the quality and visibility of the shadows. Lower settings will always improve performance and FPS, but will give a blob (or no) shadow effects, whereas a higher settings will produce a high quality shadow, but will impact greatly on FPS. I generally have mine set to 'Low'.
- HDR Quality | This is affecting lightning quality and bloom effects. Setting this to high will give you better lightning effects but can cause a FPS drop. HDR on high can greatly enhance your visibilty during nighttime.
- PPAA | Post Processing Antialiasing is a filter which affects objects in the world. If you use Antialiasing, I suggest you play around with this setting to find what you like as some filters are better suited on different monitors. I like to use the Sharp Filters though.
ᴄᴏɴꜰɪɢ ꜰɪʟᴇs
ArmA2.cfg
The first config file that needs to be edited is:ArmA2.cfg. This can be found at: C:\Users\<user>\Documents\ArmA 2.
In this, we need to change the following lines:
GPU_MaxFramesAhead=1;
This helps smoothen framerates and increases performance.GPU_DetectedFramesAhead=0;
This will essentialy do the same as above.refresh=144;
This changes the render refresh rate. Match this with your monitors refresh rate. e.g 60Hz Monitor = refresh=60;Make sure to change the file attributes to Read Only. If you dont know how to do that, then Click Here[bfy.tw].
ArmA2OA.cfg
The first config file that needs to be edited is:ArmA2OA.cfg. This can be found at: C:\Users\<user>\Documents\ArmA 2.
In this, we need to change the following lines:
GPU_MaxFramesAhead=1;
This helps smoothen framerates and increases performance.GPU_DetectedFramesAhead=0;
This will essentialy do the same as above.refresh=144;
This changes the render refresh rate. Match this with your monitors refresh rate. e.g 60Hz Monitor = refresh=60;Make sure to change the file attributes to Read Only. If you dont know how to do that, then Click Here[bfy.tw].
<username>.ArmA2OAProfile
The second config file that needs to be edited is:<username>.ArmA2OAProfile. This can be found at: C:\Users\<user>\Documents\ArmA 2.
Find the line with the following:
sceneComplexity=160000
If you cant find this line, simply add it to the bottom. Adjusting this value is a great way to increase overall quality without much of a drop in framerate. Depending on how powerful your system is, this can be changed to the following values:- 160000 | DEFAULT | Best for laptops or desktop PC's that use intergrated graphics.
- 180000 | LOW | Best for lower tier custom built PC's
- 200000 | MEDIUM | Best option for most PC's as it balances quality with Framerate.
- 220000 | HIGH | Best for high-end PC's that have alot of processing power.
- 260000 | ULTRA | Any values above this have severely impacted my performance. It is up to you if you wish to push this further.
mouseSmoothing=0;
Lowering the mouse smoothing value can reduce mouse lag and may improve FPS slightly.fovTop=0.97500002;
fovLeft=1.5599999;
Changing your FOV is purely a personal preference, note that some servers may kick you for altered FOV. Although I have never had an issue.Make sure to change the file attributes to Read Only. If you dont know how to do that, then Click Here[bfy.tw].
ɴᴠɪᴅɪᴀ / ᴀᴍᴅ sᴇᴛᴛɪɴɢs
Below are the NVIDIA options, until I am able to procure a list of the same settings for AMD, unfortunately, you will have to find similar perameters in your AMD control panel and change those.
Ambient Occlusion - Off
Anisotropic Filtering - Application controlled
AntiAliasing Gamma Correction - On
AntiAliasing Mode - Application controlled
AntiAliasing Setting - Application controlled
AntiAliasing Transparency - Off
Maximum Pre-Rendered Frames - 0
Multi-Display/GPU Accelaration - Single Display Performance Mode
Power Management Mode - Prefer Maximum Performance
Texture Filtering Sample Optimization - On
Texture Filtering Negative LOD Bias - Allow
Texture Filtering Quality - High Performance
Texture Filtering Trilinear Optimization - On
Threaded Optimization - Auto
Triple Buffering - Off
Vertical Sync - Off
ᴄᴏɴᴄʟᴜsɪᴏɴ
Keep in mind that:
Typically, ArmA servers will depict their clients' FPS. If a server is running 'script heavy' (meaning they are running alot of scripts) then generally, you wont be able to achieve amazing results. On average, I get around 60 FPS on script heavy servers, but when playing a Custom Scenario or in the Mission Editor, I easily achieve 170+ FPS. Unfortunately there isn't a huge amount you can do about it, it solely relies on Server Performance.
It may be that you use this guide and achieve only a 7 Frame boost in your chosen multiplayer server. For the full effect, I would reccomend creating a Single-Player Scenario to test the new settings out.
I really hope this guide has helped you! If you have any questions or comments, please feel free to use the area below, or contact me via the ArmA Optimisation Group or My Steam directly.
Dont forget to RATE, FAVOURITE and SHARE!
This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.