With performance, I mean how well Arma runs on your computer. I do not mean your performance in shooting other people. The ARPS group does not care about scores (I do care about my own score, but that is because I am bloodthirsty, and an exception). This page is about making Arma run decently fast. You will be aiming for something 'round 20 fps, and things generally are playable. If you are struggling to reach playable framerates, here are a few notes:
Interface resolution should always match 3d resolution.
You will notice that ARMA has two settings for resolution: Interface resolution (the resolution of the menus) and the 3d resolution (the resolution of the actual gameplay). Although this sounds like a neat idea at first, to keep the interface resolution at your display's native (say, 1080p) and reduce 3d resolution (say, 720p), it does not work half as well as it should. In fact, it may actually reduce performance. Therefore, if you want to reduce 3d resolution, reduce interface resolution accordingly (so that 3d resolution is always 100%). I recommend that you only lower your resolution after setting all your other settings to "very low" or similar, and keep 3d resolution at your display's native.
Set "Video Memory" to default
Doing so allows Arma just to use everything at its disposal.
Just do it. Enjoy the greatly increased performance.
Check your "AToC" setting in Arma2oa.cfg in your My Documents/Arma 2 folder when using Anti-Aliasing
Arma was one of those games that did not have "Alpha to Coverage Blending" (neither does Crysis, by the way, so much for fancy graphics!). AToC enhances anti-aliasing for textures that use a lot of transparacy, such as tree leaves. The downside to this is that performance is reduced when using AToC, and since the patch that has introduced it, it has been enabled by default. The default setting is 7, which means all the foliage. You can set it to 0 which disables AtoC for an additional performance boost. Here's what each setting does:
0 - disabled
1 - AToC on grass
2 - AToC on new OA trees (takistan, zargabad, proving ground, shapur)
4 - AToC on old A2 trees (utes, chernarus)
3 - AToC on grass & OA trees
5 - AToC on A2 trees + grass
6 - AToC on A2 + OA trees
7 - AToC enabled on grass, A2 & OA trees (default)
Note that disabling anti aliasing will also disable AToC.
Check your FXAA setting while you are at it.
FXAA is "fast aproximate anti-aliasing", a post processing form of anti aliasing. This setting runs independenlty of the normal anti aliasing, so disabling anti aliasing will not affect this setting. Neither will AToC have anything to do with this, FXAA sia post processing filter. However, disabling post processing in the game does not affect FXAA. This is set to 'off', by default. This setting goes from 0 to 17, where 17 is the most power hungry mode available, and 0 is completely disabled. FXAA can be used along with 'normal' anti aliasing for an enhanced effect.
Each number corrosponds to a certain FXAA quality preset:
0 - Disables
1 to 6 - FXAA quality preset 10 to 15
7 to 16 - FXAA quality preset 20 to 29
17 - FXAA quality preset 39
This page by FXAA's creator explains a bit more what each quality preset means.
When setting post processing to "Low" or higher, remember to use Okt-NoBlur
This removes the annoying motion blur which only works well if you have very high FPS (so, never), and increases your performance.
Your performance will be significantly higher whilst playing online
Arma is probably an exception in this, but your performance will increase greatly due to the server doing all the neccesary CPU calculations for you. So even if you have FPS on the low side but have no interest in playing SP, all will be well.
Now, there are obviously some other settings in the Advanced Video Settings tab in the Arma 2 options screen. I have tested each value, and here are my reccomendations per value. I recommend that you set everything except video memory to very low or off at first, and then change accordingly to match your needs.
Resolution: I recommend setting both to your display's native resolution. I recommend that you keep it there, and only change it to lower if you absolutely need that performance.
View Distance: This is probably one of the major factors in Arma performance and playability. This factor can influence gameplay. I recommend putting this at 1600 at first, which is AFAIK the maximum range of the longest range sniper rifles in the game. Only lower this if you absolutely need the performance, but it is not as vital as resolution. (the original operation flashpoint had 900 as the default, which works too. If you really have to set it lower then this, you may need to seek elsewhere to fix your performance problems). Most missions set View Distance to a value specified by them, so don't worry about any PvP missions: They have fixed view distances which are the same for everyone.
Texture detail: Set this to match your video memory. I have not detected any performance loss or increase by changing this value, whilst there is an obvious difference in quality. Note that, if you set this higher then your video memory, your video memory will change along with it, but if you putit down again, your vid mem will stay the same.
Low = 256 mb
Medium = 512 mb
High = 768 mb
Very high = 1 gb
Video Memory: See above, - Set this to default. If you are having problems, you may want to change the hting according to your graphic's card onboard memory:
Low to high = Unknown.
Very high = 512mb
Note that these values are estimates, and that I do not know what happens if you put stuff too high.
Anistropic Filtering: A really nice algorithm which affects the sharpness in textures that are drawn further away from the player, and which the player is not looking directly at. Noticable on the ground. Very noticable on the roads.
Low - 2x anistropic filtering. Makes a small difference.
Medium - 4x anistropic filtering. Makes quite a bit of difference, although stuff that is quite far away still is a bit blurry, but not blurry enough to stand out.
High - 8x anistropic filtering. Nothing is blurry.
Very high - 16x anistropic filtering. No discernable difference between this and high.
Anti Aliasing: Increases resolution around edges so you get less jaggedness. Note the AToC notes above: If disabled, trees will not be affected (But AToC is enabled by default).
Low = 2x MSAA
Medium = 4x MSAA
High = 8x MSAA
Very High = 16x MSAA
Note that you can use FXAA as well with an ini setting. See above. FXAA can be used in conjuction with or without MSAA, as it is a postprocessing setting. FXAA can make AToC redundant as well.
Terrain Detail: Mainly influences the distance at which grass is drawn.
Very low - (Almost) no grass drawn, depending on location and map.
Low to very high - increased grass draw distance.
Terrain detail also affects terrain geometry (how many pixels a mountain uses), but I was not able to see any noticable differences. There might be significant effects when sniping from long distances, however. Men at very long distances seem to clip trough the ground somewhat, probably the effect of optimizations. Setting the setting to very high whilst sniping might resolve those visual glitches.
Object detail controls the amount of objects drawn in the Distance as well as LOD switching (LOD switching is switching a detailed model for a less detailed one when it is further away). It also controls how far away objects are drawn. Very low means very little grass and no objects in the distance, whilst medium means lots of grass and quite a few objects in the distance, and very high means same amount of grass as with medium along with every tree rock and such being drawn in the distance
Note that the drawing of grass is also a setting which can be specified per mission. So don't worry if you think that changing these settings gives you an unfair advantage: in PvP missions (and some performance hungry co ops), this setting is set in stone and the same for everyone.
Shadow Detail: This can be set entirely to your prefference.
Normal - Very basic shadows which are very sqaurical and blocky. IMO it does not look good. Think square shadows for round objects.
High - Good shadows. They appear to be a bit blocky when you look at them in detail, but you don't most of the time.
Very high - same as high, but now they never look blocky.
HDR Quality: You can't turn HDR off, and changing this setting does not appear to affect image quaility for me, but it does affect performance greatly. Keep it at Normal.
Very low - "Noise", found using night vision goggles and the 80s filter used in some folk missions, as well as some other effects which are applied to the entire screen. This setting does not affect performance.
Low - Adds bloom and motion blur. You can disable motion blur using the okt_noblur mod (linked above). Motion blur affects performance quite a bit, but bloom not so much.
Medium - Adds Depth of Field (blurs objects at certain distances to simulate that the eye can not focus on everything) and SSAO (a form of self shadowing, which greatly enhances the look of several objects in the game, including the grass). There is no option for enabling them seperatly, and I do not know of any mods which mods them, so it is either both or none. SSAO greatly affects performance, but it looks great.
High and Very High - more performance hungry and better looking SSAO
Interface size: Does not affect performance. Change to suit your own tastes.
Aspect ratio: A no brainer.
Vsync: Always turn it off.
Audio Channels: A feature found under "sound", Audio Channels determines how many sounds can be played at once. OA set this to 32 by default, whilst Arma 2 sets this to 16 by default. However, this only impacts performance when you have an on-board soundcard (on board soundcards draw processing power from the CPU). If you happen to have a soundblaster or similar audio card, you can set this to 128, which can solve some sound glitches you might experience whilst rapidly firing hydra rockets and/or using JSRS. I highly recommend that you get a sound card, because now that I have one, I can not live without it :D.
Some Ini Tweaking:
Yes, you can tweak INI files. Noticably, when going to your "My Documents folder", try and find the .arma2profile and .arma2oaprofile files. You will see a lot of text. Now find these values and set them to this:
For some reason nobody really understands yet, this also improves your performance. Feel free to tweak the TerrainGrid setting as well. This is basically the Terrain Detail setting but the ini setting allows you to tweak it even more. Higher values mean higher performance, with the max being 50. Try setting it to 50.
Note that you have to change the settings both in *.arma2profile as well as *.arma2OA profile in order to see an effect, for some reason.
Some usefull links:
Some things concerning processors. The BIS thread on optimizing performance.
Custom Memory Allocators (added in the 1.6 patch). Try and see if it makes a difference for you. So far, I have gotten the best results with the "TCmalloc".