Jump to content
Sign in to follow this  
aop

AI kills the performance completely (instructions how to test inside)

Recommended Posts

I have done some testing in both ArmA 2 and ArmA 3 editor using Chernarus map and it seems the main culprit behind performance issues in ArmA 3 is the AI.

How to prepare ArmA 3 for testing:

1. Copy ArmA 2 content for ArmA 3 by creating folder @ArmA2 in ArmA 3 folder and copy the AddOns folder of your ArmA 2 installation to the @ArmA2 folder you created.

2. Enable mod @ArmA2 in ArmA 3 Options ---> Expansions menu.

How I tested it:

First test:

1. Have ArmA 2 and ArmA 3 run at same or similar graphics settings.

2. Have FRAPS or other fps display overlay running.

3. Create missions in both ArmA 2 and ArmA 3 with only your character and some vehicle in Chernogorsk, I used the dock as starting location.

4. In this mission drive around Chernogorsk with your vehicle and watch the framerate displayed in the counter (you can record the framerate to .txt file in FRAPS)

This test resulted very similar framerate in ArmA 2 and ArmA 3.

Second test:

1. Use same settings in this test as the first one.

2. Make mission with 5 BLUFOR and 5 OPFOR infantry squads in Chernogorsk.

3. Observe as civilian.

Now this test had huge framerate difference between ArmA 2 and ArmA 3. In ArmA 2 the framerate hovered around 30-45 with 120 soldiers killing each other in Chernogorsk but in ArmA 3 the framerate never went above 20, mostly staying at 15, sometimes dipping down to 10.

My rig:

Core I5-2500K@4.3GHz

8GB DDR3 1600MHz

GTX570

ArmA 3 installed on SSD

ArmA 2 installed on HDD

Conclusions:

Number of AI characters present on map has much higher impact on framerate than in ArmA 2. Currently having 100 active characters on map will bring the performance down to unplayable levels in ArmA 3.

Share this post


Link to post
Share on other sites
I have done some testing in both ArmA 2 and ArmA 3 editor using Chernarus map and it seems the main culprit behind performance issues in ArmA 3 is the AI.

How to prepare ArmA 3 for testing:

1. Copy ArmA 2 content for ArmA 3 by creating folder @ArmA2 in ArmA 3 folder and copy the AddOns folder of your ArmA 2 installation to the @ArmA2 folder you created.

2. Enable mod @ArmA2 in ArmA 3 Options ---> Expansions menu.

How I tested it:

First test:

1. Have ArmA 2 and ArmA 3 run at same or similar graphics settings.

2. Have FRAPS or other fps display overlay running.

3. Create missions in both ArmA 2 and ArmA 3 with only your character and some vehicle in Chernogorsk, I used the dock as starting location.

4. In this mission drive around Chernogorsk with your vehicle and watch the framerate displayed in the counter (you can record the framerate to .txt file in FRAPS)

This test resulted very similar framerate in ArmA 2 and ArmA 3.

Second test:

1. Use same settings in this test as the first one.

2. Make mission with 5 BLUFOR and 5 OPFOR infantry squads in Chernogorsk.

3. Observe as civilian.

Now this test had huge framerate difference between ArmA 2 and ArmA 3. In ArmA 2 the framerate hovered around 30-45 with 120 soldiers killing each other in Chernogorsk but in ArmA 3 the framerate never went above 20, mostly staying at 15, sometimes dipping down to 10.

My rig:

Core I5-2500K@4.3GHz

8GB DDR3 1600MHz

GTX570

ArmA 3 installed on SSD

ArmA 2 installed on HDD

Conclusions:

Number of AI characters present on map has much higher impact on framerate than in ArmA 2. Currently having 100 active characters on map will bring the performance down to unplayable levels in ArmA 3.

I absolutely agree with you. AI, firefight and smoke explosions make the performance drop dramatically, even on hard videocard/hardware settings.

I think that this is an issue that have to be solved by developers.

Share this post


Link to post
Share on other sites

yea i noticed that too. every bigger mission causes the game to drop to unplayable levels. in MP it's even worse sometimes. but since the AI didn't change that much i assume this is just missing polish since it's an alpha.

Share this post


Link to post
Share on other sites

Hmm strange. I created an NTFS link to "Addons" in the Arma III folder (with mklink /D) and named it @arma2. The link works on file system level. But content is not shown in A3 expansions...

EDIT: But it appears if I use "-mod=@Arma2" in the command line additionally. But no Chernarus map in Arma3.

Edited by tortuosit

Share this post


Link to post
Share on other sites
I have done some testing in both ArmA 2 and ArmA 3 editor using Chernarus map and it seems the main culprit behind performance issues in ArmA 3 is the AI.

How to prepare ArmA 3 for testing:

1. Copy ArmA 2 content for ArmA 3 by creating folder @ArmA2 in ArmA 3 folder and copy the AddOns folder of your ArmA 2 installation to the @ArmA2 folder you created.

2. Enable mod @ArmA2 in ArmA 3 Options ---> Expansions menu.

How I tested it:

First test:

1. Have ArmA 2 and ArmA 3 run at same or similar graphics settings.

2. Have FRAPS or other fps display overlay running.

3. Create missions in both ArmA 2 and ArmA 3 with only your character and some vehicle in Chernogorsk, I used the dock as starting location.

4. In this mission drive around Chernogorsk with your vehicle and watch the framerate displayed in the counter (you can record the framerate to .txt file in FRAPS)

This test resulted very similar framerate in ArmA 2 and ArmA 3.

Second test:

1. Use same settings in this test as the first one.

2. Make mission with 5 BLUFOR and 5 OPFOR infantry squads in Chernogorsk.

3. Observe as civilian.

Now this test had huge framerate difference between ArmA 2 and ArmA 3. In ArmA 2 the framerate hovered around 30-45 with 120 soldiers killing each other in Chernogorsk but in ArmA 3 the framerate never went above 20, mostly staying at 15, sometimes dipping down to 10.

My rig:

Core I5-2500K@4.3GHz

8GB DDR3 1600MHz

GTX570

ArmA 3 installed on SSD

ArmA 2 installed on HDD

Conclusions:

Number of AI characters present on map has much higher impact on framerate than in ArmA 2. Currently having 100 active characters on map will bring the performance down to unplayable levels in ArmA 3.

You dont need that amount of "work" to test what you are saying I mean, just go Online with the Escape mission, arrive to airport base when it should happen all the action and see how FPS start to go down. Agree AI kills performance at this stage.

Share this post


Link to post
Share on other sites

There's no way around this. AI is just work that your computer has to do. Obviously this will lower framerate.

120 soldiers fighting at once is a big damn fight. Might want to shift over to dedicated servers if you want good performance in that kind of engagement. You can't do much to affect the course of a battle like that on your own anyways.

Share this post


Link to post
Share on other sites

This remains a problem in ArmA 2 AFAIK, and I REALLY hope it gets ironed out in the Alpha/Beta phase of ArmA 3. It's one thing that has always been a real negative of ArmA IMO.

Also, the problem is that even without 100+ AI (even with like, 20) you still get abysmal framerate.

Share this post


Link to post
Share on other sites
There's no way around this. AI is just work that your computer has to do. Obviously this will lower framerate.

120 soldiers fighting at once is a big damn fight. Might want to shift over to dedicated servers if you want good performance in that kind of engagement. You can't do much to affect the course of a battle like that on your own anyways.

Seems like you didn't even bother to read the first post or give it any thought.

The problem is that currently ArmA 3 can't handle anywhere near the same amounts of AI as ArmA 2.

Share this post


Link to post
Share on other sites
There's no way around this. AI is just work that your computer has to do. Obviously this will lower framerate.

Making the AI multi-threaded would have been a start. I really really hope BIS is just holding it back until beta/release, otherwise we will be stuck with the same mission limitations arma 2 already had in terms of ai complexity.

Share this post


Link to post
Share on other sites
There's no way around this. AI is just work that your computer has to do. Obviously this will lower framerate.

120 soldiers fighting at once is a big damn fight. Might want to shift over to dedicated servers if you want good performance in that kind of engagement. You can't do much to affect the course of a battle like that on your own anyways.

Intel COre I5 3.20GHz 3.20 GHz

8 Gb RAM

NVIDIA GeForce ZOTAC GTX 580

I don't think that my hardware is the best of the world, but a 30 men firefight can't drop my fps to UNPLAYABLE level...

Share this post


Link to post
Share on other sites

making this game a properly multithreaded one using effectively all cores like newer engines would fix all performance issues.

buts ive read no official statements about it so far, and im looking. since some bis people do post on the forum im starting to believe theyre aware but dont want to mention the issue thus recognizing it as a fact even though its just an alpha and completely acceptable to exist for now.

Share this post


Link to post
Share on other sites
making this game a properly multithreaded one using effectively all cores like newer engines would fix all performance issues.

buts ive read no official statements about it so far, and im looking. since some bis people do post on the forum im starting to believe theyre aware but dont want to mention the issue thus recognizing it as a fact even though its just an alpha and completely acceptable to exist for now.

There was an interview I read somewhere where one of the devs said that getting the entity count in battles up without terribad performance was one of the n1 goals.

If you want to know why multithreading arma is hard try reading the dev blogs of arma2.

Share this post


Link to post
Share on other sites

Playing a COop mission a few minuts ago, I just had to disconnect due to the masive lag (1 FPS only)

The server shows a window with the following on it:

ENEMIES LEFT: 2554

Share this post


Link to post
Share on other sites
Making the AI multi-threaded would have been a start. I really really hope BIS is just holding it back until beta/release, otherwise we will be stuck with the same mission limitations arma 2 already had in terms of ai complexity.

Ok let's get something straight here, the AI is multi-threaded, pretty much everything is.

Multi-threading means more than 1 action can occur in asynchronous time, if the AI weren't multithreaded, they wouldn't be able to do simple tasks such as report targets while moving to a waypoint.

People need to stop throwing the world multi-threaded around without understanding what it actually means.

Share this post


Link to post
Share on other sites

Well alright, let me refrain then: Making the AI-threads use more than one CPU-core would have been a start.

Is that what i truely wanted to say?

Share this post


Link to post
Share on other sites
Well alright, let me refrain then: Making the AI-threads use more than one CPU-core would have been a start.

Is that what i truely wanted to say?

I think that's what you were thinking you wanted to say.

Share this post


Link to post
Share on other sites
Well alright, let me refrain then: Making the AI-threads use more than one CPU-core would have been a start.

Is that what i truely wanted to say?

There is no magic wand to wave over the code and magically it will run perfect on your computer!

Furthermore, as a software engineer, I can tell you that code optimization, does NOT happen on a project until the END. Focus during development is almost exclusively placed on getting functionality built - not making it smooth. Still, even before optimization occurs things like compatibility fixes are worked on; because the answer is NO: the same piece of code does not work on ALL video cards, sound cards, etc.

You have access to the alpha so that you can constructively CONTRIBUTE to the development of the platform - I really wish everyone making bug reports would quite making it sound like they're bugs in ArmA2, a product already released and on the shelves. The Alpha basically gives you an opportunity to watch the development occur and test the current version.

*Any given application's CPU time is determined by MORE than just the application. The OS (especially newer versions of windows) manage the processor load and priorities in respect to all of the various software modules that are running at any one point.

Almost no one pays attention to how much other crap is running concurrently in your OS, most people that do go tweaking in these areas, rarely get the job done completely right either. If you want better performance across the board, optimize your system. And I know everyone will reply and say "but my system is 100% optimized legit and only has ArmA installed" .... YEAH!???? Is that a fact? you've turned off all the crap like windows updates, defender, uac, pre-fetching.... the list is about 100 pages long of things that need to be configured in your OS just to get that to quit hogging system performance. That will make more of an impact in fact than a new CPU (in the same class) most of the time.

Relax, enjoy the show, and give them some time to work through the schedule :D

-Seil

Share this post


Link to post
Share on other sites
There is no magic wand to wave over the code and magically it will run perfect on your computer!

Furthermore, as a software engineer, I can tell you that code optimization, does NOT happen on a project until the END.

Well, I guess personally my point would be that the same exact issues have been in ArmA 2 for, what, 4+ years? And still not resolved.

I think people just want to make sure that ArmA 3 gets the work it needs. Performance issues have been a severe hamper on ArmA 2 sales and popularity over the years.

Share this post


Link to post
Share on other sites

aop´s point is obviously that the new ai eats significantly more cpu-power than the one in arma2. I want to add another interesting aspect: the more ai the lower the cpu-load (in arma2). "perfmon" is a good system tool to log the cpu usage.

edit: thanks maverick for giving the right hint :-)

Share this post


Link to post
Share on other sites

Arma does some things amazingly well (large terrains, for instance) but it can't be everything to everyone. Putting 60v60 AI battles down in the editor in a (relatively) small space is putting an extreme strain on the engine. It's just not something that, personally, I think could or should be a focus for performance improvement. Based on testing I've done in the past, anything beyond about 80 entities is going to degrade performance significantly in A2.

That still leaves you with a game that can simulate roughly platoon-on-platoon sized engagements, with combined arms element, in a huge and beautiful landscape with good performance. Please show me another title that has larger battles rendered at the same level of detail? Even modern RTS titles like Wargame: European Escalation don't offer much larger scale than that.

But you are correct: for a variety of reasons Arma 2 presently (after, what, 5 years of continuous development?) handles large-scale AI battle a little better than this early release of Arma 3 can.

Share this post


Link to post
Share on other sites

I get that, and as a long-time supporter of BI, I/we have pushed the limits on the AI at every opportunity. That being said, if you track the discussions concerning the AI behavior and FSM programming for them in ArmA 2, you see there are a number of limitations that prevent the AI from becoming "smarter" / more complex....

From my experience testing that alpha, it seems that BI has been working to expand / evolve the AI logic. I presume this is still running via FSM logic, and is still un-optimized (each AI has a separate FSM running and processing). Until optimizations happen / improve, I would presume the AI to be a heavy load while functionality debugging is finished.

-Seil

Share this post


Link to post
Share on other sites

Is this worse in A3 or just a continuation of what happened in A2 (On my computer I get 10fps with or without ai so I can't tell). It is normal for ai to slow down the game because to their complexity. Hopefully BIS will make good progress with HeadlessClients to help fix this while also making the ai competent.

Share this post


Link to post
Share on other sites

and to make matters worse, the ai isn't even that great. i hope they prioritize this issue.

Share this post


Link to post
Share on other sites
Making the AI multi-threaded would have been a start. I really really hope BIS is just holding it back until beta/release, otherwise we will be stuck with the same mission limitations arma 2 already had in terms of ai complexity.

one of the things that got me into the arma serfies is this video, the poster said he had 1500 AI going at the same time, i hope these kinds of epic battles will be possible in in A3.

Iwas just on a ctf server and my FPS was over 60 on standard and i just realized it might have been because there were no AI.

Share this post


Link to post
Share on other sites
There's no way around this. AI is just work that your computer has to do. Obviously this will lower framerate.

120 soldiers fighting at once is a big damn fight. Might want to shift over to dedicated servers if you want good performance in that kind of engagement. You can't do much to affect the course of a battle like that on your own anyways.

Yet it's being done in another game just fine.

The CPU usage in general in this game seems pretty shitty, and the AI should be much better optimized now. ArmA 2 AI would look at every freaking object around and spend 20 minutes figuring out where to go. ArmA 3 AI isn't much more complex, but is more efficient (supposedly) at things like pathfinding, so it should actually have LESS of an influence.

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
Sign in to follow this  

×