Jump to content
Old Guys Gaming
Search In
  • More options...
Find results that contain...
Find results in...

Arma3 Optimization Recommendations


Rand0m_Her0
 Share

Was this thread helpful?   

5 members have voted

  1. 1. Was this thread helpful?



Recommended Posts

BE WARNED ADJUSTING LAUNCH PARAMETERS IS AN "ADVANCED" SKILL SET, YOUR MILEAGE MAY VARY

INTENT:

My goal is to help users on this server deal with the recent drop in frames and screen flicker created by the new aptly named "Potato" version.

MY COMPUTER AT A GLANCE:

Processor: i5-4690K @3.50 GHz

Installed RAM: 8GB DDR3

System type: 64-bit Windows 10 Pro, x64-based processor

Motherboard: Gigabye GA-Z97X-Gaming 7

GPU: Nvdia STRIX GTX970 4GB DDR5 @ 1273 MHz OC

LAUNCH PARAMETERS:

If all you care about is getting the information to plug into your game, just look here.

A3 Launcher: -nologs; -cpuCount=4; -nosplash; -exThreads=7; -maxMem=2000; -maxVRAM=2000; -malloc=system

Steam Launcher:-nologs -cpuCount=4 -nosplash -exThreads=7 -maxMem=2000 -maxVRAM=2000 -malloc=system

HOW TO ENABLE:

A3 LAUNCHER

1. Open A3Launcher

2. Upper right hand corner, select settings.

3. Scroll down to Additional Parameters and Copy and Paste the above string. You do not need to check box No Splash and No Logs. You may check Windowed Mode, however I run my windowed mode settings directly through my Geforce Experience settings and have not attempted it through A3. I have no recommendations on tips for doing it through A3.

- See image below for more guidance

Capture1.png

STEAM

1. Open STEAM

2. Go to Library, scroll down to Arma3

3. Right click Arma3, scroll down and select Properties

4. Click General Tab in the Arma 3- Properties Dialogue box.

5. Click Set Launch Options

6. In the new Launch Options-Arma 3 Dialogue Box copy and paste the above string.

- See image below for more guidance [/color]

Capture2.png

WHY THESE COMMANDS?

-nologs

Removes .RPT Log creation, decreases start up time and reduces screen flicker. CPU and Ram is no longer tasked with writing .RPT on launch.

IMPORTANT NOTE: Be aware this means no errors saved are to RPT file. If you need to bug check for launch failures or want to send an error report you need to delete this parameter in order to generate the error code in your .RPT file.

-cpuCount=4

]This defines the amount of CPUs/cores available. It can be used to simulate dual cores on a quad core as well. The number is actually dependent on the type of CPU. i5's and above in general can reliably use the value of 4. Lower CPU's will have to be tested on your own.

You can lower the affinity to a value of 2 if you are experience over-scheduling.

An additional parameter for those with i7's is: -enableHT

This parameter will enable hyper threading and increase overall performance. It is recommended that if you enable HT, to change your -cpuCount= value to maximum cores or even remove it in order to maximize performance and prevent over scheduling.  

-nosplash

Disables splash screens, decreases start up time.

-exThreads=7

Change to a number 0,1,3,5,7. This will override auto detection (which use 3 for dualcore and 7 for quadcore). In this case for an i5 with 4 cores, I use 7 in order to always ensure that maximum threads are utilized for the game.

-maxMem=2047

Defines memory allocation limit to number (in MegaBytes). 256 is hard-coded minimum (anything lower falls backs to 256). 2047 is hard-coded maximum (anything higher falls back to 2047). In this case, I have set it to 2047, despite the fact that the computer is supposed to allocate memory on demand. The reason is 1) To always ensure maximum allocation in order to prevent throttling in system. 2) Prevent memory dumps by creating a maximum cap. NOTE: 2047 is the hard cap max for the game, but users with 32gb systems can force the game to use more. However this requires complex changes in the .config of the game and can lead to more bugs and is no recommended unless you have a strong grasp on coding mechanism.

-maxVRAM= 2047

Defines Video Memory allocation limit to number (in MegaBytes). 128 is hard-coded minimum (anything lower falls backs to 128). The value is ignored if engine properly detected VRAM size (then it utilize most minus 5 to 10%). In this case I have set 2047 for the following three reasons. 1) My GTX970 is under utilized, Arma3 only demands 1% when using automatic detection. 2) 2047 sets utilization at 13% which is a value I am comfortable with. 3) 13% is a good low end range with enough buffer to prevent overheating on the GPU and over-scheduling on my system due to the fact that I run three monitors. Basically, at 13% forced utilization for the game, I can still have chrome/ts open on one monitor, youtube/netflix on the second, and the game on the third. This allows me to utilize at around 30-40% with 108% OC and maintain temps under 62*C for long term gaming sessions.

REFERENCES:

https://community.bistudio.com/wiki/Arma_3_Startup_Parameters

Link to comment
Share on other sites

@Dane Thanks for taking time to do that, I did not know I was causing compatibility issue.

UPDATE TO STRING CHANGE NOTES/REASONS BELOW:

Changed -maxMem= and -maxVRAM= values from 2047 to 2000

Apparently, despite 2047 being the stated hard-cap coded value for memory from Bohemia's own startup parameter website, using that value can cause a time out in the connecting portion. *Rips hair out of head* Thanks for that Bohemia, great support >..>

Sorry for any trouble that incorrect string may have caused.

Added -malloc=system for those experiencing memory dumping.

-Malloc=system is used to force use the Windows memory allocator.

Link to comment
Share on other sites

I just wanted to advise people on some expectations and limitations I have furthered discovered from testing on the OGG server. {Read that as a lot of crashing}

-malloc=system is not the most efficient memory allocator. There are .dll's that people are using to specifically task System Ram just for Arma that seem more efficient for the game. However, -malloc=system does seem to solve the memory dump problem at the cost of performance. From my resource monitoring it seems that the Arma3 allocators are tasking system Ram for the game and at the completion of the task or load it is not releasing the ram back to system but instead holds it and draws in more.

-MaxMem and -MaxVRAM seems to be a double edged sword. For example, setting the values at 2000 reduces load times and increases FPS for a time. However prolonged gaming on the server seems to have negative effect in regards to the 2k caps. Basically, in my case for example with 4gb ddr5 Vram forcing 2000 to be allocated immediately loads me in at 60fps with 3k/3k view/object. However I no longer have the additional 2gb ddr5 to utilize under heavy loads and it can cause stuttering. From testing it seems the sweet spot for usable Vram for the game is around 3.8gb not the Bohemia stated 2047mb.

I am by no means an expert and these are only my anecdotal observations to help inform you all.

Link to comment
Share on other sites

So,

Have we determined that it is actually Arma3 that is the issue, or Exile? This was not an issue when we were running Epoch, I was getting a solid 60 FPS.

I have 16GB of RAM and setting MaxMem and VRam to 2000 seemed kind of silly, but I tried it anyway because I just want to play the game... After 15-20 min, ARMA3 memory usage goes up to ~3.2GB and BAM! 4FPS.

Soft exiting (only to the launch screen) only releases about 1GB of RAM and I only last about 5 min in game before I drop to 4 FPS again.

Thanks for all your research on this Her0, do you have a link to any of the dll's folks are using for mem allocation?

Link to comment
Share on other sites

@RobertWalker

Here is the Arma3 Bohemia community page on .dll https://community.bistudio.com/wiki/Arma_3:_Custom_Memory_Allocator

I have no experience with them, I know Tylor uses a custom ttb malloc.

Right now I am testing a new string you are welcome to try it.

I am using: -nologs -cpuCount=4 -nosplash -exThreads=7

So far, I have noticed upfront that without forcing a specific System Ram and Vram utilization I cannot run my game at 3k/3k view distance. I experience too much throttling and stuttering from the CPU jumping up and down in utilization. However, with this current string I notice that at 1.5-2k it is a lot more stable in terms of rapid frame loss. However this could also be due to X's recent work on the server.

Link to comment
Share on other sites

  • 7 months later...

Update 3/7/2017 
I added a new additional step you can do to help optimize for performance, when running windows 10. 


Issue: Over scheduling in windows 10
In-game result: Frame stuttering and freezing.
Fix: Disabling background applications

Steps:
1. Start Menu; type settings to bring up windows settings. Click on privacy.

2. Scroll down on the left and select Background apps

3. Turn off various apps that you do not use then restart. 

Images below are for reference

Capture3.PNG.51529cf3136bc028cdd1fd491f17f3ec.PNG

Capture4.PNG.4caf7e73b5b79cf56c894c55e582a449.PNG

Capture5.thumb.PNG.b4979b2249a2669ebfbe9dc675ae2c4f.PNG

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

Terms of Use & Privacy Policy


This website is not affiliated or authorized by Bohemia Interactive a.s. Bohemia Interactive, ARMA, DAYZ and all associated logos and designs are trademarks or registered trademarks of Bohemia Interactive a.s.