PDA

View Full Version : A few simple notes on performance.



Grizzly
03-01-2012, 02:51 PM
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.

Disable Vsync
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. (http://[url=http://timothylottes.blogspot.com/2011/07/fxaa-310-released.html])



When setting post processing to "Low" or higher, remember to use Okt-NoBlur (http://forums.bistudio.com/showthread.php?t=97853)
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:
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.

Postprocess effects:
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:

sceneComplexity=150000;
ShadingQuality=0;
MouseSmoothing=1;


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. (http://http://forums.bistudio.com/showthread.php?t=101124)
Custom Memory Allocators (added in the 1.6 patch). Try and see if it makes a difference for you. (http://community.bistudio.com/wiki/ArmA_2:_Custom_Memory_Allocator) So far, I have gotten the best results with the "TCmalloc".

evilbobthebob
03-01-2012, 03:15 PM
I assume I will be ok with a HD5870 and Phenom II 3.4GHz quad core? I don't expect perfection, but I'd like to see some detail.

Wolfenswan
03-01-2012, 03:21 PM
Shadow Detail: This can be set entirely to your prefference. Note that Normal means very blocky shadows, whilst high menas shadows which actually appear to be based on the models casting them. Very high means really detailed shadows. Higher is more performance hungry. Personally, I switch between off and high depending on my mood, but keep away from normal because I think they are too ugly.

Iirc high/very high are handled by your GPU while low/medium stress your CPU more?


Terrain Detail: Mainly influences the distance at which grass is drawn. Higher values mean that grass is drawn at longer distances. This greatly affects performance. I have personally set this at very low, since grass is not that important for me.

Like viewdistance your terrain detail is always overriden in Multiplayer by what's set serverside (default is low iirc). Some mods can disable grass for you in a MP mission though but keep in mind that does might be unfair towards the other players.

Stellar Duck
03-01-2012, 03:32 PM
Cheers! This actually gave me a lot of FPS at very little actual cost to my experience in the game. Much appreciated.

harakka
03-01-2012, 03:45 PM
First of all, I salute you for this post Grizzly. Here's a medal, but you need to return if after the photo op.


I assume I will be ok with a HD5870 and Phenom II 3.4GHz quad core? I don't expect perfection, but I'd like to see some detail.

I a similar rig, though with a worse GPU (5750 512MB), and I get playable framerates (20-40 depending on visibility and island played etc) without antialiasing, shadows on High, postprocessing on Normal, everything else on Normal, and playing in a 1650x966 window. You should be good.

Keep in mind though that you will NEVER get framerates like you get in other games on good-looking settings. For whatever reason ARMA2 is the most power-hungry game ever and getting a steady FPS of 60 everything maxed on a good resolution is not going to happen.


Iirc high/very high are handled by your GPU while low/medium stress your CPU more?
I've often heard this one, but from my testing it seems not to be true. It may be old folklore from ARMA1 days or something.

washington
03-01-2012, 04:00 PM
Glorious thread, Grizzly!



I've often heard this one, but from my testing it seems not to be true. It may be old folklore from ARMA1 days or something.

Yes, me too. Read it in several optimization threads, but this was back when A2 was first out. Also, additionally, you can add stuffs in the launch:

-maxmem=2047
Defines max memory allocation as limit. Not sure how this works after 1.60 with allocators, if at all effected/affected?

-winxp
Reverts to use of older Direct 3D for Vista/Win7 systems. "... the most visible feature the Ex version offers is a lot faster alt-tabing".

That and more, with descriptions, at: http://community.bistudio.com/wiki/Arma2:_Startup_Parameters

Grizzly
03-01-2012, 09:47 PM
I assume I will be ok with a HD5870 and Phenom II 3.4GHz quad core? I don't expect perfection, but I'd like to see some detail.

My computer is much worse hten that (Athlon X2 6000+, HD5670), and I get reasonable performance with very 'normal' settings, especially whilst playing online.

SvDvorak
04-01-2012, 06:55 PM
Grizzly, you are a beautiful bear. I will read through this during the weekend and set up my copy properly.

kataras
09-01-2012, 01:51 PM
Thanks Grizzly for this, I applied some of the changes before last night's game. I think it run better, although now I notice the tearing with the Vsync off (I always thought I had it off but turns out not to be the case). Couldn't verify though as my Arma crashed when I use any application to measure FPS. In any case, it felt smoother!

evilbobthebob
09-01-2012, 07:03 PM
Well, the Op Arrowhead benchmark tells me I get an average of 58fps, which is enough, I think :D

Grizzly
09-01-2012, 08:29 PM
Well, the Op Arrowhead benchmark tells me I get an average of 58fps, which is enough, I think :D

Try the Arma 2 Benchmark 2. If you can run that one smoothly, you can host our missions for us next time :P.

Also, I keep updating the post, so keep checking for some hints. I may need to restructure it, but some others are probably better at ensuring that information is... well-presented.

evilbobthebob
09-01-2012, 11:01 PM
Ah yes...average FPS of 20. Plenty of explosions in that one.

harakka
10-01-2012, 10:56 AM
Getting 20 FPS on the second one is extremely good, feel free to pat yourself on the back now.

Siddin
10-01-2012, 11:01 AM
Lowest of all settings, running in windowed mode 800 x 600:
first benchmark: 15 FPS.
second benchmark: 10 FPS.

I'll go cry in that corner now.

Grizzly
10-01-2012, 04:46 PM
Lowest of all settings, running in windowed mode 800 x 600:
first benchmark: 15 FPS.
second benchmark: 10 FPS.

I'll go cry in that corner now.

Strange that. There is usually a much bigger performance gap between the first and second A2 benchmark AFAIK. Personally I only use the OpArrowhead benchmark, so I might check, but something fishy might be going on.

What are your specs?

Siddin
10-01-2012, 05:00 PM
Strange that. There is usually a much bigger performance gap between the first and second A2 benchmark AFAIK. Personally I only use the OpArrowhead benchmark, so I might check, but something fishy might be going on.

What are your specs?

Asus laptop running Windows 7 Professional 64-bit.
Processor: Intel Core i5 CPU M 450 @ 2.40 GHz
RAM: 4 GB, 3.79 GB avail.
NVIDIA GeForce 310 M
DirectX version: 11.0
DirectX support: 10.1
CUDA Cores: 16
Total available graphics memory: 2707 MB
Dedicated video memory: 1024 MB DDR3
System video memory: 0 MB
Shared system memory: 1683 MB

DigitalSignalX
10-01-2012, 06:30 PM
Every time I see this thread I think of the same topic often found in my spam email folder.

That's all, Carry on.

Grizzly
10-01-2012, 08:26 PM
Asus laptop running Windows 7 Professional 64-bit.
Processor: Intel Core i5 CPU M 450 @ 2.40 GHz
RAM: 4 GB, 3.79 GB avail.
NVIDIA GeForce 310 M
DirectX version: 11.0
DirectX support: 10.1
CUDA Cores: 16
Total available graphics memory: 2707 MB
Dedicated video memory: 1024 MB DDR3
System video memory: 0 MB
Shared system memory: 1683 MB

Ah, I think the 310M is the problem. I think your graphics card is a major bottleneck, whilst your CPU is much better then mine is (thus explaining the relatively high benchmark 2 score). Hmm. You have set "Video Memory" to very high, yes?

Also, dailing down the view distance to 900 or even 500 may help, although 500 might give you some problems shooting men. You should try it out.

Also, you were using hte Arma 2 benchmarks... Chernarus is rather power hungry for some reason.

Grizzly
30-01-2012, 08:34 AM
I made a few changes to the guide - Apperently, setting Video Memory to default is much better for performance then just setting it manually, as default sets it to how it should be: Arma uses every bit of your video card.

eel
21-05-2012, 08:35 AM
A quick question about the okt_noblur. Ever since I've installed it I can't connect to any DayZ server because "@okt_noblur isn't signed by a key accepted on this server". Does it mean I did something wrong or should I just wait until they add this plugin to their whitelist?

IceRaiser
21-05-2012, 08:59 AM
When playing DayZ you're only allowed to have DayZ as an active mod. This is to stop cheaters/exploits and breaking the servers.

eel
21-05-2012, 10:59 AM
That's a shame, but thanks for the reply!

Rauten
28-05-2012, 11:49 PM
I suppose this is the appropriate place to ask about my tech issue with DayZ:

The game itself runs fine at first, but after a while it starts having sudden slowdowns/freezes. First they're kinda uncommon and so small they're barely noticeable, but little by little they become worse and worse to the point the game becomes nigh-unplayable after a while.

I think it's caused not by time, but by movement; the more of the map the game has loaded in a single play, the worse it gets. I know ArmA2 isn't exactly the most polished game ever, and having such a huge map surely has a toll, but I think my machine should be more than capable of running ArmA2 without these annoying hiccups.

My specs:
i5 2500k, it is NOT overclocked.
4GB Ram
ATi HD 6850 1GB
WD Caviar Black 1 TB SATA3

Any help would be much appreciated.

egg651
29-05-2012, 01:19 AM
That's certainly a weird one Rauten. One thing you can try when it starts getting rough is to flush the video memory. This can be done by pressing left shift & minus, then letting go and typing 'flush'. Nothing is displayed as you type but the keys are registered nonetheless. It's certainly not a permanent solution but hopefully it'll help in the meantime.

As an aside, more console commands can be found here (http://community.bistudio.com/wiki/ArmA:_Cheats).

IceRaiser
29-05-2012, 01:44 AM
Run memtest on your RAM(one at a time) and also try using a program like Rivatuner or Afterburner to up the fanspeed on your HD6850, it could be the GFX mem getting a bit hot.

Rauten
29-05-2012, 02:05 AM
That's certainly a weird one Rauten. One thing you can try when it starts getting rough is to flush the video memory. This can be done by pressing left shift & minus, then letting go and typing 'flush'. Nothing is displayed as you type but the keys are registered nonetheless. It's certainly not a permanent solution but hopefully it'll help in the meantime.

As an aside, more console commands can be found here (http://community.bistudio.com/wiki/ArmA:_Cheats).

Huh, interesting, will try that, thanks.


Run memtest on your RAM(one at a time) and also try using a program like Rivatuner or Afterburner to up the fanspeed on your HD6850, it could be the GFX mem getting a bit hot.

I really doubt it's a HW issue, any other game, including things like Skyrim or Saints Row 3 at nearly max settings work flawlessly and both of those are also kinda heavy on HDD usage.

Sarlac
29-05-2012, 07:14 AM
I have a nearly identical system but with 8gb. In Chicago 10 today I was averaging well over 60 with no stutters at all. Maybe you should up your ram to 8 or more. Also if you're not playing on beta that may help.

IceRaiser
29-05-2012, 12:59 PM
I really doubt it's a HW issue, any other game, including things like Skyrim or Saints Row 3 at nearly max settings work flawlessly and both of those are also kinda heavy on HDD usage.

It won't hurt to try it...

Rauten
29-05-2012, 02:03 PM
@Egg flushing the video RAM helps... a bit. When it's almost unbearable, it resets it back to a more bearable, playable state, but it's still there. Still, better than nothing. Thanks.


I have a nearly identical system but with 8gb. In Chicago 10 today I was averaging well over 60 with no stutters at all. Maybe you should up your ram to 8 or more. Also if you're not playing on beta that may help.

Is it really worthwhile? One of the reasons I went with 4GB is that after all I'm going to use the system for gaming mostly, and for now all games use 32bit executables (as retarded as it is nowadays, I mean, what was the last processor that didn't support 64bits? Pentium3?!). Is the jump to 8GB really noticeable?


It won't hurt to try it...

I know I know, and I thank you for your suggestions, but knowing the heavy duty usage I give to the computer, if the RAM was really fscked up, I'd have had far more errors than this; I haven't had a single BSOD, system freeze or sudden shut down since I built this machine.

kataras
29-05-2012, 02:22 PM
@Rauten: with a i7920, a 560ti and 6 Gigs of memory my Arma tends to run ok (except when there is too much AI soldiers on a map) with playable framerates. Your rig is better so the game itself should not be the problem (unless for some reason it doesn't like your rig?). As far as I know Arma is CPU-intensive so maybe check if there is something wrong with the cooler on that?

Apart from that did you try Grizzly's suggestions? They did help ameliorate my framerates a bit.

Rauten
29-05-2012, 02:40 PM
Not really, my issue isn't with the FPSs, Benchmark 1 (which people say is more representative of actual gameplay) gives me an average of 69 FPS, and ingame, when it isn't stuttering, it does move smooth and fluidly.
As for temperature, these couple of days are being rather hot, and yet the air coming out of my computer is almost the same as my room temperature. Will keep an eye on it anyway, just in case.

Thanks a lot to everyone for your suggestions.

billy_bunter
29-05-2012, 02:43 PM
Have you tried the CPU startup options:
Dual-Core processor:
-nosplash -cpucount=2 -exThreads=1
Quad-Core processor:
-nosplash -cpucount=4 -exThreads=7
Hexacore processor:
-nosplash -cpucount=6 -exThreads=7

Grizzly links to it in the first post, it's from here: http://forums.bistudio.com/showthread.php?101124-Operation-Arrowhead-performance-optimizations-comparisons

It's probably also worth turning down the view distance to as low as you can bear it, I think I have it at 1200m - I have a Q6600 with a HD5770 so I'm way down in spec compared to you but I have no issues running ARMA2 smoothly enough (mainly thanks to Grizzly and others who have done all the hard work for me!).

lordhughes
29-05-2012, 04:01 PM
In single player / armory I get 30-70fps, thats ranging from me just running around to me blowing s**t up and making quite a bit go on. However as soon as I join a multiplayer server my fps is 20+-2.

My SP settings are High (with post processing off) and AA/AF on normal, even when I play online and put my settings down to normal/low It just stays the same.

I have read this thread, added some optimisations but its just making no difference. I know server force view distance but even in SP when I increased my view distance from 1600 to 2000 then onto 3k (I think that was as high as I went) it was no where near as bad as my MP fps.

anyone, any ideas?

Rauten
29-05-2012, 10:36 PM
Have you tried the CPU startup options:
Dual-Core processor:
-nosplash -cpucount=2 -exThreads=1
Quad-Core processor:
-nosplash -cpucount=4 -exThreads=7
Hexacore processor:
-nosplash -cpucount=6 -exThreads=7


Just did, doesn't help =( thanks for the pointer anyway.

Did some testing with MSI Afterburner and a small freeware software to keep an eye on both GPU and CPU temps. Through the whole session, hiccups included (did my best to make it as bad as possible), max CPU temperature 61C, max GPU temperature 66C. So it's not the temperature.
I know it's not that my settings are too high because the highest load a core ever had was 58%, and the highest GPU usage (aside the spike when alt-tabbing back into the game) was 62%.

I'm sure it's something to do with loading the surrounding area to the RAM, but why it's exclusively localized to ArmA2, I have no idea. If it was a general issue due to either the RAM or the HDD, SR3 and Skyrim would've suffered it as well, but it isn't the case.

I'm going to do a reboot then try to play some vanilla ArmA2 missions, try to abuse the Chernarus map a bit, see if it also happens on vanilla. Because right now, I have no idea what else it could be.

Edit: First mission, ran flawlessly, not a single stutter... until the satchel charge was supposed to go off and then the game crashed. Woo~hoo. Still, considering the helicopter lift that covers a nice chunk of terrain plus reaching the village then going off to find the mass grave, I think it's pretty obvious now that it's something within DayZ taking the piss.
Hopefully, there's a new update out and one of the fixes is:

* [FIXED] Very poor framerate on servers after some time (dead bodies causing it)
So with any luck this might also help with my issue; will try some other time.