Jump to content
Sign in to follow this  
Dr.cremaster

ai test

Recommended Posts

Well, maybe, but why?

Question everything ;)

Forcing single core/thread operation is a valid test in certain circumstances, that's why the commands exist.

I mainly pose the question because if you are going to perform an investigation into anything, you need to present all the facts if the result is to have any meaning. Selective use of information can make points seem more or less valid.

If this is a server with no start up commands, does adding any change the results? If it has commands, what happens when you remove them? If I was in the position of performing these tests, this is how I would approach it.

I guess my hope is that something is being hidden, though I suspect this is just how it works by default. AI in one thread and it all breaks down when it tries to spread the load. Shame. As has been stated, some things cannot be multithreaded so easily.

Share this post


Link to post
Share on other sites
We do not have 23 months in the Netherlands. :)

"mm/dd/yyyy" is the English date notation. because you say January 1, 2014 not 1 January, 2014

Share this post


Link to post
Share on other sites

What is so sad about this, I don't really get it. That AI uses a single core (thus the AI only server will use a single core only)? This was, has been, is and probably will be this way for some time on ALL games. (Others instead skip AI and bullet calculations kind of completely so it seems that they keep up with 2014.)

This is not from BIS-doesn't-know-it-and-doesn't-care-for-15-years. But does anyone know a method using which all the AI and bullett calculations can happen before it is shown as a frame (a sequental calculation - because time is sequential - so every moves are sequential) AND make it paralell? How would it be possible? still the threads need to wait for each other, so overall performance wouldn't be better. Irrelevant eye candy can go to other cores though, but that is not the burden anyways.

Edited by zapat

Share this post


Link to post
Share on other sites

Well if there is no way, this brand is dead in the long run. All the new tech on the horizon is going for multithreaded solutions, a whole GFX API (AMD Mantle) is developed on that concept. The industry is moving towards the consumer and tries to offer more performance for less money and BI decides to go the other way. Its like watching a car crash in slowmotion.

Share this post


Link to post
Share on other sites

the only thing that annoys me is that they cannot give us a straight answer i.e. no we cant improve or yes we can and we plan to...

thats all we need.

instead we get humor phrases with lots of :cool::rolleyes::):p

Share this post


Link to post
Share on other sites

I don't understand why they can't save the state from the last frame, use that to render, and while the rendering is happening start calculating the next state at the same time. You don't render the frame you're currently processing in parallel, but rather the last finished frame. Once both new-frame sim and last-frame render are finished, you start over. It'd cut out like 40% of the time (though overhead might take some of that out). If you can parallelize the AI, and if DX gets a Mantle-like bump to draw call performance, you could have double the framerate with the current system, perhaps even much more.

Share this post


Link to post
Share on other sites

And what do you call sim and what render frame? You need the info about terrain and objects as well for bullet calculations... Texture loading and some geometry (that is what you may call rendering) are already on different cores (which is not present on a server, thus the 100% one-core load: a server only runs the main - sim - thread).

And don't forget memory bandwith either...

tyler: "All the new tech on the horizon is going for multithreaded solutions,"

Yes, and all the new stuff using new tech is going the direction which is easy to multithread: more eyecandy, more corridors, less interaction (there is basically no sim thread in other games.)

A good solution is good mission design, which you cannot achieve with the editor. You only need to show units that you can actually see, and calculating the rest with simplified calculations. So you can "simulate" a fully populated island with only 30-40 units alive at a time. Smoke and mirrors you know. :) Just see the Alive mod for example.

Edited by zapat

Share this post


Link to post
Share on other sites

thats if BI decide to go down that path... at the moment who knows as they wont say anything

Share this post


Link to post
Share on other sites
What is so sad about this, I don't really get it. That AI uses a single core (thus the AI only server will use a single core only)? This was, has been, is and probably will be this way for some time on ALL games.

Why? When you play multiplayer and you are a group leader, the AI in your group is calculated by your PC, not the server. There is therefore no reason at all for AI processing not to be distributed. This is the basis of the headless client. Why, then, could the server code not be re-written to allocate a core per side, thus utilising 4 cores?

Share this post


Link to post
Share on other sites
Why? When you play multiplayer and you are a group leader, the AI in your group is calculated by your PC, not the server. There is therefore no reason at all for AI processing not to be distributed. This is the basis of the headless client. Why, then, could the server code not be re-written to allocate a core per side, thus utilising 4 cores?

I'm sure that this would have been already done if possible, as is it a real show stopper since years. But it's always a question of priorities, and obviously coop multiplayer is last on the list. You have seen the hardware of the server Dr.cremaster rented to run his Arma 3 server. He spends € 59,00 per month / € 708 per year to provide a suitable server and make A3 more popular. A copy of A3 is actually at € 44,99!

Those people need support in order to keep this great series alive! When I consider what could have been done with € 500.000....... :banghead:

Share this post


Link to post
Share on other sites
I'm sure that this would have been already done if possible, as is it a real show stopper since years. But it's always a question of priorities, and obviously coop multiplayer is last on the list. You have seen the hardware of the server Dr.cremaster rented to run his Arma 3 server. He spends € 59,00 per month / € 708 per year to provide a suitable server and make A3 more popular. A copy of A3 is actually at € 44,99!

Those people need support in order to keep this great series alive! When I consider what could have been done with € 500.000....... :banghead:

You could achieve the same thing by running 4 headless clients and having the locality of each Side set to a different HC - it is already possible to distribute the processing of the AI. However having it coded within the server executable, and specifying quad core or higher for servers, would be cleaner and more progressive.

The OP is wasting his time with that server, it's weaker (for an Arma server) than the PC in your signature. GHz is what counts.

Edited by jiltedjock

Share this post


Link to post
Share on other sites
And what do you call sim and what render frame? You need the info about terrain and objects as well for bullet calculations... Texture loading and some geometry (that is what you may call rendering) are already on different cores (which is not present on a server, thus the 100% one-core load: a server only runs the main - sim - thread).
Render is basically the draw calls. Sim is basically everything else. If I'm not mistaken, currently we do everything in the sim side first (plus PhysX and some bells/whistles that work on separate threads), then do render at the end. There was a graphic of how the various threads progress on the cores over the course of a frame. It's very serial. Like 30-40% of the total processing is done for the main sim thread, then some other stuff resolves, then the other 30-40% is done on the same core for the draw calls.

I'm sure I'm being simplistic about the difficulties with doing 2 frames at once basically, but they need to do something. At the very least get the AI running multiple threads to speed up the simulation part. With luck, DX might get a major draw call performance boost and that alone will improve FPS considerably.

If bandwidth is the issue, we can still rely on that increasing for the foreseeable future. RAM hasn't hit the 4.5GHz barrier last I checked.

Share this post


Link to post
Share on other sites
You really think at this point the problem is money?

If not money, caused by additional manpower and workload, what else? Inability? I really hoped this problem will be solved with the release of ArmA2, but I was sure they will fix it with ArmA3..... :icon_frown:

Share this post


Link to post
Share on other sites
If not money, caused by additional manpower and workload, what else? Inability?

Simply manpower, no reasonable amount of money can buy additional coders who have knowledge of the inner workings of the engine.

Share this post


Link to post
Share on other sites
Simply manpower, no reasonable amount of money can buy additional coders who have knowledge of the inner workings of the engine.

Your are right, but this manpower could also be used for DLC's -> making money... ;)

Share this post


Link to post
Share on other sites

DLCs are usually new terrains and new models. Which are not made by engine coders in C++, but rather by artists and designers and by some sqf coders. They have plenty of those I guess. Probably this is why a changelog looks like how it does usually.

I am not defending them as they have had years to fix this, just telling.

Share this post


Link to post
Share on other sites

I dont really understand the buzz here.. where is the news? This is a known issue of the arma series, and the single threadedness of the AI has been confirmed for Arma 3 by server admins when the first ever dedicated server binaries came out. Lots of people were screaming "Alpha" or "Beta" back then in belief that it might get changed, but to anyone familiar with the arma series or basics about the engine it was instantly clear that Arma 3 will not resolve that problem... EVER. The AI would have had to be rewritten entirely which is a major MAJOR thing you don't do once a beta or even Alpha is released.

So all i can say is: Welcome to Arma and you better start accepting the single threadedness of the AI because it's here to stay.

The only hope right now is ALiVE with their profiling system. It's the only way high numbers of "AI"(virtualized in profiles) will ever be possible in Arma 3. I just wish BIS would come up with simple and genius ideas like that. In addition to that even SP games could perform way better if they ran on a dedicated server exe in the background. Hosting a mission with lots of AI on a dedicated on your own machine can triple your FPS compared to hosting it ingame or playing SP as long as youve got a quad core system. It can't be THAT difficult to make things like that happen in the background. So that's what you should really be complaining about: The lack of solution ideas BIS comes up with. Complaining about the single threadedness is pretty much pointless.

Edited by Kavoriken

Share this post


Link to post
Share on other sites
In addition to that even SP games could perform way better if they ran on a dedicated server exe in the background. Hosting a mission with lots of AI on a dedicated on your own machine can triple your FPS compared to hosting it ingame or playing SP as long as youve got a quad core system. It can't be THAT difficult to make things like that happen in the background. So that's what you should really be complaining about: The lack of solution ideas BIS comes up with.

Agree.

Share this post


Link to post
Share on other sites

is there any game which use 1 more core for AI?

is the core support still the same?

how is server performance when played on TDM mode?

Edited by Faultron

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  

×