Jump to content
k3lt

Low CPU utilization & Low FPS

Recommended Posts

Got a second R9 280X real cheap for a crossfireX config. Loaded up ArmA 3 and was surprised to get about 1 1/2 the usual FPS, around 90-110 FPS, wasn't really expecting the scaling to be all that great even though it is in most everything else bar some niche games and flight simulators. Hop in a multiplayer server, go back down to 24 fps. SMH.

Yep, thats Arma^^ No need to be upset, i build a PC for a customer 3 weeks ago, with Hexacore and 3x290X (TriCrossfire) with the same result ^^

And it will stay my conclusion: no Engine optimization by devs results in no gain in frames^^

Share this post


Link to post
Share on other sites
Got a second R9 280X real cheap for a crossfireX config. Loaded up ArmA 3 and was surprised to get about 1 1/2 the usual FPS, around 90-110 FPS, wasn't really expecting the scaling to be all that great even though it is in most everything else bar some niche games and flight simulators. Hop in a multiplayer server, go back down to 24 fps. SMH.

You can't get higher fps when the CPU is bottlenecked. You can just higher your graphics that load GPU without fps drop, so you could now do something like high SSAO and highest AA settings without a drop under that 24fps when earlier you could only go for 4xAA (just examples).

Share this post


Link to post
Share on other sites

He would not get more fps even when he would own a Hexa or whatevercore @ 5Ghz.

Result is easy: Arma3 didnt scale (correctly) with more power, mostly you gain 2-3fps thru new hardware, but this 2-3fps are gone in few minutes (even when the pc is perfactly optimized)

What is really sad in my opinion: so much complains due low fps and no statement by the devs at all.

Share this post


Link to post
Share on other sites

Yep, no point spending money on new hardware unless you really need to upgrade. I get 25 FPS in towns during multiplayer with i7 3770k and GTX 770, low or ultra settings doesnt matter, the performance is the same and low CPU/GPU usage. Keep selling karts, BIS!

Share this post


Link to post
Share on other sites

In my opinion, it's fairly obvious where the performance bottleneck lies in the singleplayer campaign. The discussion around memory bandwidth and custom memory allocators is a waste of time, because the gains to be had in this area are probably marginal. Everybody knows the visibility settings (in particular of objects) have a greater impact on performance than anything else. Obviously the engine is processing a whole lot more information when we increase the visibility. Maybe the high memory bandwidth requirement is a clue that this processing is data intensive, but the fact remains that Bohemia needs to find a more efficient way of doing this processing or to do it in a different way. I'm not a game developer, so I can't offer much insight into what the exact problem might be.

Share this post


Link to post
Share on other sites
In my opinion, it's fairly obvious where the performance bottleneck lies in the singleplayer campaign. The discussion around memory bandwidth and custom memory allocators is a waste of time, because the gains to be had in this area are probably marginal. Everybody knows the visibility settings (in particular of objects) have a greater impact on performance than anything else. Obviously the engine is processing a whole lot more information when we increase the visibility. Maybe the high memory bandwidth requirement is a clue that this processing is data intensive, but the fact remains that Bohemia needs to find a more efficient way of doing this processing or to do it in a different way. I'm not a game developer, so I can't offer much insight into what the exact problem might be.

You're wrong. The visibility setting affects the amount of calls to memory, which in turn affects FPS. Notice that while the framerate improves when you turn down visibility, CPU/GPU usage is still minimal at times.

I am a game developer, and a computer science major. It's in my degree's nature to look into these things, and try to find the exact problem given the information that we know, and the background knowledge that I have.

Share this post


Link to post
Share on other sites
You're wrong. The visibility setting affects the amount of calls to memory, which in turn affects FPS. Notice that while the framerate improves when you turn down visibility, CPU/GPU usage is still minimal at times.

I am a game developer, and a computer science major. It's in my degree's nature to look into these things, and try to find the exact problem given the information that we know, and the background knowledge that I have.

The "affect fps" function seems to be disabled in Arma3. All "fps gain" are propably "Hardcoded" to NO :yay:

We talk about gain frames and not about poop like 2 or 3 frames which you gain through changing whole Options to get this 2 frames.This is ridicolous in Arma, and everyone who plays the game knows the problem. Expect of the devs propably, no word were lost due hard sucking performance on better PC´s... It´s extreme ridicolous but Frames are not acceptable for Players with better PC´s, about the Multiplayer Netcode i´ll better be quiet (please no special expert discussion which starts with "depends on server and ping and so on...") this bores me and is just a tickle disussionable...

Share this post


Link to post
Share on other sites
You're wrong. The visibility setting affects the amount of calls to memory, which in turn affects FPS. Notice that while the framerate improves when you turn down visibility, CPU/GPU usage is still minimal at times.

I am a game developer, and a computer science major. It's in my degree's nature to look into these things, and try to find the exact problem given the information that we know, and the background knowledge that I have.

Firstly, I think you should make less assumptions about other people's backgrounds. I'm a software developer with 8 years of experience in writing commercial software. I think you also posted a reply to another developer, which also assumed that he had no knowledge of software development.

Secondly, of course the visibility setting will affect the number of calls to memory, that was not my point. My point was that focusing on memory allocators and those types of low-level optimizations will not lead to the massive gains we need. I can get roughly 75 FPS when I lower the visibility setting to it lowest value, whereas I get 40 FPS when it is set to Ultra. Obviously that proves that the visibility setting itself has a large impact on performance, without taking ai and other processing into account. How much of an improvement do you expect by making low level optimizations?

Do you honestly think that you would be able to learn something about the engine that the BIS developers don't already know about? Clearly they have profiled it to death and done most of the optimizations that don't require rewriting of large portions of the engine. Otherwise they would be completely incompetent. Clearly the only way for us to get the performance improvements we desire is for them to rewrite the engine.

Edited by hannsl

Share this post


Link to post
Share on other sites
Firstly, I think you should make less assumptions about other people's backgrounds. I'm a software developer with 8 years of experience in writing commercial software. I think you also posted a reply to another developer, which also assumed that he had no knowledge of software development.

Secondly, of course the visibility setting will affect the number of calls to memory, that was not my point. My point was that focusing on memory allocators and those types of low-level optimizations will not lead to the massive gains we need. I can get roughly 75 FPS when I lower the visibility setting to it lowest value, whereas I get 40 FPS when it is set to Ultra. Obviously that proves that the visibility setting itself has a large impact on performance, without taking ai and other processing into account. How much of an improvement do you expect by making low level optimizations?

Do you honestly think that you would be able to learn something about the engine that the BIS developers don't already know about? Clearly they have profiled it to death and done most of the optimizations that don't require rewriting of large portions of the engine. Otherwise they would be completely incompetent. Clearly the only way for us to get the performance improvements we desire is for them to rewrite the engine.

I'll start off by saying that I didn't state any explicit assumptions; only deriving from my own background. Also, without going into too much detail, Software Development and Computer Science are two very different fields. Software Development is mainly taken from a high-level perspective, with high level languages. Computer Scientists aren't "codemonkeys"; their purpose is not coding; rather, they understand the mechanics behind the code, the computer, and the logic and math behind it. The biggest factor is that instead of writing code given the tools and environment to do so, many of the connections between the hardware and the software must be explicitly stated. This is where I believe that my knowledge will help. No, I don't ever extensively learn how to write "nice" or "organized" code. I learn about why things work the way they do, hence the science part, rather than the direct application, such as software engineering.

In terms of solid proof, there are numerous documented cases (a couple pages back) of people overclocking their RAM and getting major benefits. While we obviously can't change the operation of Windows or the hardware, we can at least conclude that the allocation of memory is inefficient in this game. The major disconnect comes from the high vs low level debate. In Visual Studio, if you write a program in C#, for example, you will encounter hardware bottlenecks much more rarely, especially because higher level software development has an API and framework built for it. This means that memory management and such is automated. However, without reaching the level of assembly, C and C++ both require manual memory management and such, which provides a much closer look to why things take longer/are slower.

By looking past the "trial and error" way of optimizing framerates, we can sometimes find certain high-level methods of increasing performance. For example, if people only stuck with changing view distance, graphical settings, and overclocking processors, it would take much longer to realize things like RAM being a major factor in the overall performance.

Overall, I disagree that looking at the memory allocation of the game is useless, because there are many things to be learned.

Share this post


Link to post
Share on other sites
Clearly the only way for us to get the performance improvements we desire is for them to rewrite the engine.

Thread should be closed with this posting, thats what i try to tell so much people... But Humans are humans, many of them didnt even know what they are talking about when thy giving suggestions to increase fps. I am not a game dev, but i work with computers, soft&hardware and all around this sector since over 20 years, couple of years ago i won 1st Place in a Crysis Screenshot Editing with Cryengine in Germany, means that i often know about i am speaking. Enough Biography ^^

Devs, fix that engine or give at least a statement why it takes so long to rework this Godzilla Old Engine.. As the customers which playing&supporting this product we should have the right for that.

Share this post


Link to post
Share on other sites

By the way, here's a interesting read on reddit where dayz's creator discussed the new engine they're working on. Clearly the 32bit memory limitation is an issue because according to him a move to 64bits has helped them with performance. This points to the fact that the file mapping api they're using is inefficient. Obviously rewriting the engine for 64bits is not possible at this point.

http://www.reddit.com/r/Games/comments/27uf74/rgames_rdayz_ama_with_rocket_dayz_is_moving_to_a/

---------- Post added at 01:21 ---------- Previous post was at 01:12 ----------

I'll start off by saying that I didn't state any explicit assumptions; only deriving from my own background. Also, without going into too much detail, Software Development and Computer Science are two very different fields. Software Development is mainly taken from a high-level perspective, with high level languages. Computer Scientists aren't "codemonkeys"; their purpose is not coding; rather, they understand the mechanics behind the code, the computer, and the logic and math behind it. The biggest factor is that instead of writing code given the tools and environment to do so, many of the connections between the hardware and the software must be explicitly stated. This is where I believe that my knowledge will help. No, I don't ever extensively learn how to write "nice" or "organized" code. I learn about why things work the way they do, hence the science part, rather than the direct application, such as software engineering.

In terms of solid proof, there are numerous documented cases (a couple pages back) of people overclocking their RAM and getting major benefits. While we obviously can't change the operation of Windows or the hardware, we can at least conclude that the allocation of memory is inefficient in this game. The major disconnect comes from the high vs low level debate. In Visual Studio, if you write a program in C#, for example, you will encounter hardware bottlenecks much more rarely, especially because higher level software development has an API and framework built for it. This means that memory management and such is automated. However, without reaching the level of assembly, C and C++ both require manual memory management and such, which provides a much closer look to why things take longer/are slower.

By looking past the "trial and error" way of optimizing framerates, we can sometimes find certain high-level methods of increasing performance. For example, if people only stuck with changing view distance, graphical settings, and overclocking processors, it would take much longer to realize things like RAM being a major factor in the overall performance.

Overall, I disagree that looking at the memory allocation of the game is useless, because there are many things to be learned.

Again, you're making assumptions. I have a degree in computer science from one of the best universities in the world. I was trying to explain to you, that a lot the information you provide in your posts is common knowledge to software developers and doesn't need to be stated.

We already know that memory allocation in this game is inefficient, because it uses a file mapping api to get around the limitations of 32bit memory. However, a custom memory allocator won't get around these issues because it will only apply to memory that is allocated within the 32bit region. Bohemia is already aware of these issues as you can see from that discussion. I stand by my claim that the only way to get good performance is for them to rewrite the engine.

Edited by hannsl

Share this post


Link to post
Share on other sites
By the way, here's a interesting read on reddit where dayz's creator discussed the new engine they're working on. Clearly the 32bit memory limitation is an issue because according to him a move to 64bits has helped them with performance. This points to the fact that the file mapping api they're using is inefficient. Obviously rewriting the engine for 64bits is not possible at this point.

http://www.reddit.com/r/Games/comments/27uf74/rgames_rdayz_ama_with_rocket_dayz_is_moving_to_a/

---------- Post added at 01:21 ---------- Previous post was at 01:12 ----------

Again, you're making assumptions. I have a degree in computer science from one of the best universities in the world. I was trying to explain to you, that a lot the information you provide in your posts is common knowledge to software developers and doesn't need to be stated.

We already know that memory allocation in this game is inefficient, because it uses a file mapping api to get around the limitations of 32bit memory. However, a custom memory allocator won't get around these issues because it will only apply to memory that is allocated within the 32bit region. Bohemia is already aware of these issues as you can see from my other post. I stand by my claim that the only way to get good performance is for them to rewrite the engine.

Thank you for the clarification. Although asking for actual proof of graduation, etc is completely unnecessary, it is much easier and much less unsettling to know (or hope) that the person should know how having software development experience does not necessarily mean that it is applicable to optimization scenarios.

Background and e-peens aside, the reason for my posts are to hopefully educate people that otherwise wouldn't have known the reasons behind the game's performance. This can have multiple benefits:

1. Less posts saying "OMG THIS GAME IS CPU BOUND, SUPER INEFFICIENT etc etc"

2. Community involvement. By sharing and laying down knowledge, people with backgrounds from other areas can begin to at least attempt to fix/discover workarounds to (and sometimes succeed, such as overclocking RAM) performance issues. I believe it's at least more productive to an individual's knowledge, not even necessarily fixing the game, as opposed to sitting there and waiting for an engine rewrite.

Share this post


Link to post
Share on other sites
Thank you for the clarification. Although asking for actual proof of graduation, etc is completely unnecessary, it is much easier and much less unsettling to know (or hope) that the person should know how having software development experience does not necessarily mean that it is applicable to optimization scenarios.

Background and e-peens aside, the reason for my posts are to hopefully educate people that otherwise wouldn't have known the reasons behind the game's performance. This can have multiple benefits:

1. Less posts saying "OMG THIS GAME IS CPU BOUND, SUPER INEFFICIENT etc etc"

2. Community involvement. By sharing and laying down knowledge, people with backgrounds from other areas can begin to at least attempt to fix/discover workarounds to (and sometimes succeed, such as overclocking RAM) performance issues. I believe it's at least more productive to an individual's knowledge, not even necessarily fixing the game, as opposed to sitting there and waiting for an engine rewrite.

Fair enough, but I think people may have been getting the impression from your posts that memory bandwidth is the underlying problem, which I don't think is the case.

Share this post


Link to post
Share on other sites
You can't get higher fps when the CPU is bottlenecked. You can just higher your graphics that load GPU without fps drop, so you could now do something like high SSAO and highest AA settings without a drop under that 24fps when earlier you could only go for 4xAA (just examples).

Lemme know when those 10ghz monocores start rolling out from Intel and AMD *yawn*.

I just think the engine is super inefficient for what it wants to do, be a jack of all trades for modding and mission making or even just simulating combat scenario's. The higher we go in revisions the more limitations we run into and that's generally ass backwards from the point of even revising an engine. Whatever it be, memory limitations and data throughput limitations, inefficient instruction handling, doesn't really matter. We can argue about what it is till the end of time. It's up to BI to care enough to fix it and put the time and effort in. They're supposed to be that awesome company that supports their products, I don't see much support with critical issue's. Until they start supporting their products properly, I'm done supporting them.

Edited by Windies

Share this post


Link to post
Share on other sites
Lemme know when those 10ghz monocores start rolling out from Intel and AMD *yawn*.

I just think the engine is super inefficient for what it wants to do, be a jack of all trades for modding and mission making or even just simulating combat scenario's. The higher we go in revisions the more limitations we run into and that's generally ass backwards from the point of even revising an engine. Whatever it be, memory limitations and data throughput limitations, inefficient instruction handling, doesn't really matter. We can argue about what it is till the end of time. It's up to BI to care enough to fix it and put the time and effort in. They're supposed to be that awesome company that supports their products, I don't see much support with critical issue's. Until they start supporting their products properly, I'm done supporting them.

Sorry I didn't mean to offend you.

The engine is the problem. AI and syncing bottlenecks every system. I just told what can be expected with GPU upgrade in Arma. DayZ has the same problem currently and if they solve it then maybe in Arma 4 we can see some bigger improvements. It's just a cold fact that minimum fps can't be increased with GPU upgrade unless your whole system is pretty weak already.

So I also don't believe that we will see any bigger steps in Arma 3 and I also would be pretty pissed if it doesn't get improved in the next gen.

Share this post


Link to post
Share on other sites
Sorry I didn't mean to offend you.

The engine is the problem. AI and syncing bottlenecks every system. I just told what can be expected with GPU upgrade in Arma. DayZ has the same problem currently and if they solve it then maybe in Arma 4 we can see some bigger improvements. It's just a cold fact that minimum fps can't be increased with GPU upgrade unless your whole system is pretty weak already.

So I also don't believe that we will see any bigger steps in Arma 3 and I also would be pretty pissed if it doesn't get improved in the next gen.

I'm not offended by any means, but neither is what you said really an excuse for the shape ArmA 3 is in. Yeah it might be realistic from the standpoint of "This is what we have" but it's not very realistic from the standpoint of "What we have to work with". You can't design something over 10 years ago and expect it to still hold up with modern technology and hardware like it did 10-15 years ago. That's the whole point of engine revisions, it really should be the whole point of RV 1.0, RV 2.0, RV 3.0 etc... AI CPU dependency for example isn't exactly something that just caught them off guard or surprised them. We all know the AI routines are resource intensive. So why is it really that very little has been done between engine revisions to either help lighten the load or find better ways to do it? You can't tell me there aren't none because the Navmesh idea from DayZ is probably exactly what's needed here and it's been suggested by many community members. 64 bit happening in DayZ but we're told it's not needed for ArmA, the whole file mapping BS is sufficient? I call BS. Lots of reasons are the problem, but the real problem is that it never gets fixed and never gets addressed. Instead we get new FM's for helicopters that we were told killed performance hence why they weren't included before that will probably drop performance and cause issue's as well in real world scenario's outside of just messing around in the editor. More bloat on top of an already bloated product frankly. Things like PhysX being added into an already CPU dependent environment. It's great to have don't get me wrong, but priorities really should be elsewhere. Seems like all we get are facelifts when we need some major internal surgery.

Also I really don't see a next gen ArmA 4 from the way they are looking to "support" ArmA 3 with content and expansions, at least not anywhere less than 5 years from now. Hoping for it to be fixed in some phantom next gen title in the series is probably not going to bode well as that's exactly what we've been "hoping" through each previous revision. It's honestly what has supported BI for so long, they made one magic title before and that nostalgia has kept them running since. I'm not saying that post iterations after OFP weren't good, just that they all suffer from the same problems that have been exacerbated by time and progress in technology and hardware and nothing has ever been done to fix them.

I've always supported BI but still always had that feeling that more could be done for key area's and key problems of the engine and of the game and I guess I've just reached that point where I'm done believing and hoping and want to actually see some proof or action.

Share this post


Link to post
Share on other sites

hi guys!since the last answer to this post i didn't check any fps fix or patch,somebody can tell me if the problem is fixed or the game optimized? thx

Share this post


Link to post
Share on other sites
hi guys!since the last answer to this post i didn't check any fps fix or patch,somebody can tell me if the problem is fixed or the game optimized? thx

Nope, frames are still sucking hard. It will never change...

Share this post


Link to post
Share on other sites
I'm not offended by any means, but neither is what you said really an excuse for the shape ArmA 3 is in. Yeah it might be realistic from the standpoint of "This is what we have" but it's not very realistic from the standpoint of "What we have to work with". You can't design something over 10 years ago and expect it to still hold up with modern technology and hardware like it did 10-15 years ago. That's the whole point of engine revisions, it really should be the whole point of RV 1.0, RV 2.0, RV 3.0 etc... AI CPU dependency for example isn't exactly something that just caught them off guard or surprised them. We all know the AI routines are resource intensive. So why is it really that very little has been done between engine revisions to either help lighten the load or find better ways to do it? You can't tell me there aren't none because the Navmesh idea from DayZ is probably exactly what's needed here and it's been suggested by many community members. 64 bit happening in DayZ but we're told it's not needed for ArmA, the whole file mapping BS is sufficient? I call BS. Lots of reasons are the problem, but the real problem is that it never gets fixed and never gets addressed. Instead we get new FM's for helicopters that we were told killed performance hence why they weren't included before that will probably drop performance and cause issue's as well in real world scenario's outside of just messing around in the editor. More bloat on top of an already bloated product frankly. Things like PhysX being added into an already CPU dependent environment. It's great to have don't get me wrong, but priorities really should be elsewhere. Seems like all we get are facelifts when we need some major internal surgery.

Also I really don't see a next gen ArmA 4 from the way they are looking to "support" ArmA 3 with content and expansions, at least not anywhere less than 5 years from now. Hoping for it to be fixed in some phantom next gen title in the series is probably not going to bode well as that's exactly what we've been "hoping" through each previous revision. It's honestly what has supported BI for so long, they made one magic title before and that nostalgia has kept them running since. I'm not saying that post iterations after OFP weren't good, just that they all suffer from the same problems that have been exacerbated by time and progress in technology and hardware and nothing has ever been done to fix them.

I've always supported BI but still always had that feeling that more could be done for key area's and key problems of the engine and of the game and I guess I've just reached that point where I'm done believing and hoping and want to actually see some proof or action.

Couldn't have said it better myself. This is my whole point I've been saying about A3 all along. The fact that they keep releasing new dlc that no one has asked for speaks volumes. No need for me to carry on, Windies aid it best. I can assure you one thing, I'll never spend another penny with BI because of this. Laters!

Share this post


Link to post
Share on other sites
what is your FPS in singleplayer ?

It's too general a question, if you enter the editor and place just yourself i would expect most people get to solid FPS.

Start putting down AI and it'll drop significantly, add scripts to the mission and it'll drop even more. How many AI we think the game should handle differs significantly from what BI think it should handle.

Regarding the earlier chat about engine rewrites;

I feel the only option forward is to do what the DayZ devs did and rewrite core functionality, nothing less than that will have any impact.

This isn't an easy task to swing past the heads of BI/executives. They care about revenue, the primary way to do that is by bringing in new customers, not making old ones happy, they already have your money. This means making new content regularly to draw these new players in.

To make business reassess their priorities something significant(like a drop in sales or huge PR backlash from current playerbase) needs to occur.

Share this post


Link to post
Share on other sites

DayZ have shitty performance as well, maybe even worse than Arma. I really hope for the best but I have very low expectations to be honest.

Share this post


Link to post
Share on other sites

Didnt hear nothing really spectacular about the DayZ FPS in the last weeks, only complains due low fps. As always on the Arma based Games. Could it be that the Engine is just crap?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×