ArmA 3: High Specs; Low FPS

phil123654

Commendable
May 27, 2016
12
0
1,510
Now I know that I am one of the few who can say that they can run ArmA 3 on 2K (on a 4K monitor) at about 40-60 fps, on Very High graphics, and High render distance. But you see, my specs are (if they don't appear on my profile):
CPU: i7-5820K (OC: 4.3GHz)
GPU: GTX 1080 ("OC")
RAM: 16GB Kingston 2400-2500 (Motherboard overclocked ram for me)

So as you see, a 6-Core, Hyper-Threaded CPU, one of the Latest Graphics cards, and more RAM than a traffic jam;
but with MSI diagnostics (on-screen-counters)
CPU: ~31%
GPU: ~32%
RAM: ~8.5 GBs
(CPU & GPU Temps are 50-60C)

I feel like I deserve a few more frames.
And thus my question is, is there something that I'm doing wrong? or is ArmA 3 being too humble and not accepting my power...
 
Solution
The CPU graph might be showing the percentage for all cores combined, so if most of the cores are sitting at or near idle, it could show a low percentage despite one core being at 100% and limiting performance. Using a CPU graph utility that shows individual cores might give a better picture of whether any are being maxed out.
ARMA 3 is known to be poorly CPU threaded and thus bottlenecked on must CPU's.

Hence your GPU low usage (the CPU usage is rarely a useful indicator as it's hard to know how many threads a game can actually use, but if the CPU is not the bottleneck then usually the GPU is running close to 100%).

*Are you running the 64-bit version of Arma 3?

I don't know how to select it as I don't own the game, but it's supposedly better threaded or at least allows more memory usage which translates to better performance.

**That appears to only help SLIGHTLY and from what I can tell hitting 60FPS is difficult to do so you are probably about right for this game. They keep working on it, but I wonder if there's any hope for the engine or if they should just start over with something like UNREAL 4 Engine.
 

firefoxx04

Distinguished
Jan 23, 2009
1,371
1
19,660
Nope, totally normal. Actually pretty good for 4k.

Arma could care less that you paid $$$ for 12 threads. Its highly single threaded. Even the fastest cores have trouble with this game. Its just poorly optimized. If you can average above 30fps, be happy.
 


He's running 2K resolution, but yes it's poorly threaded.

UPDATE:
*You can probably raise the resolution with minor impact to the performance.
 

phil123654

Commendable
May 27, 2016
12
0
1,510


Yes, I am running the 64-bit version of the game (hence being able to use more than 4GBs ) (it was also a recent update and a boost to fps) I also have 2 or 3 graphs showing me the real-time usage of CPU and GPU and I promise neither one is running more than 40%
 
The CPU graph might be showing the percentage for all cores combined, so if most of the cores are sitting at or near idle, it could show a low percentage despite one core being at 100% and limiting performance. Using a CPU graph utility that shows individual cores might give a better picture of whether any are being maxed out.
 
Solution


Even using something like TASK MANAGER to show individual core/thread usage isn't that helpful. Why? Because of something called "thread jumping."

Imagine that a game can only use a SINGLE thread, and that you also have a SINGLE CORE CPU. Now let's assume that the CPU isn't enough so what you'd get is the CPU running at 100%.

Now throw in a 4-core CPU with the EXACT same performance per core. That game code thread can actually finish sections of code then JUMP to another core thus never actually show 100% usage on a single core despite being a single-thread application.

See how confusing it gets? That's why it's best to just look at the GPU which is usually near 100% if the CPU isn't the bottleneck.

*Again though, the game at 40FPS to 60FPS as discussed is what other people are getting. It's a very heavy CPU game that isn't threaded enough to take advantage of lots of cores.

**I would suggest either:
a) run VSYNC OFF (screen tearing, but don't get added stuttering due to VSYNC mismatch when you can't hit the proper FPS to match the screen. i.e. 60FPS for 60Hz screen), or

b) force Adaptive VSYNC (half refresh) - this will synch to 30FPS (on 60Hz monitor). No screen tearing and locked 30FPS though it will feel less responsive (more sluggish) to move around.

NCP-Manage 3d settings->program settings-> add game... save