Jump to content
Sign in to follow this  
NorthStorm

Waiting for a miracle...

Recommended Posts

Don't confuse multithreading and dual core support.

ArmA is a multithreaded game.

Heck, basic Java apps I write are multi-threaded.

Hi

Please show us your proof that Armed Assault is multithreaded.

Thank You.

Baddo

Share this post


Link to post
Share on other sites

well, i´m not saying that the game could become completely multithreaded now, my last example was just that, a little simple example that of course doesn´t match the real complexity that a real APP has to manage

but i firmly believe that there is some room to take adventage of multiple cores in some piece of code or another, and nowadays multiple core´s support is a must for modern games, maybe even more for arma cause it is really cpu dependant

cheers

Share this post


Link to post
Share on other sites
Don't confuse multithreading and dual core support.  

ArmA is a multithreaded game.

Heck, basic Java apps I write are multi-threaded.

Hi

Please show us your proof that Armed Assault is multithreaded.

Thank You.

Baddo

It would be very surprising if ArmA was not multithreaded. For starters, running your 'Net code on the same thread as the renderer/UI is a big nono. In fact, running your entire game on the thread that Windows gives you by default (the one with the message queue that looks for WM_QUIT coupled together with a whole bunch of other uninteresting messages we'd rather not know about and definately don't want to interrupt the user's game for) is a big nono.

So, there's 3 for starters:

1) The one windows gives you by default.

2) The one you really run your game on.

3) The one that does all your network I/O.

I can add more, but I couldn't be sure they were there...

Share this post


Link to post
Share on other sites

Obviously the multithreading that we're talking about here is not the ones related to i/o interrupts and whatnot... You wouldn't gain very much performance from having those threads disperced across multiple cores.

Share this post


Link to post
Share on other sites
Obviously the multithreading that we're talking about here is not the ones related to i/o interrupts and whatnot... You wouldn't gain very much performance from having those threads disperced across multiple cores.

Ah, I see. Apologies, I should have read the thread more closely. All I noticed, with astonishment was "Prove ArmA is multithreaded"... that'll teach me. wink_o.gif

With regards to multithreading, AI really *should* use it's own thread. It's the difference between an AI guy looking around obliviously (AI thread calculating the "where the hell is he?" part), and doing it on your main thread where things could well judder. AI is a prime-candidate for moving to another core, if available. I have no information whatsoever to know whether Arma has AI on another thread or not, but I really suspect it is.

On a single processor, multi-threading is but an illusion (the one processor switches contexts). However, it does offer the programmer some considerable advantages:

1) The AI logic is separated from the main game engine, callbacks can be used and from a coding perspective, the thinking and the doing are two separate things. This is a good thing.

2) If the opportunity allows threads to be put on other processors, we can do this with minimal effort providing we have made allowances for it at the beginning.

There was this MMORPG white paper I read once which talked about NPCs, and rather than include them in the main engine, it included them as "virtual clients". These virtual clients connected the same way as "real" players with the major difference being the authentication and the fact that an NPC client could work on behalf of several characters at the same time. Upshot of all of this is that as your world-size increased and the population increased, you could server-farm out the AI to multiple other machines/processors and it could grow as the game did.

Holy shit, I went off-topic faster than HIV-references.

smile_o.gif

Share this post


Link to post
Share on other sites

what i wonder is if it's possible to offload disk operations to another core (some non multicore ready games use this way to utilize additional core and it's better than nothing) ...

Share this post


Link to post
Share on other sites

well i dont care what people say about all this "arma has a massive island" etc...

Play on Rahmadi which is about the size of a BF2 map (eww) and i dont see any difference in FPS

And to be honest, the GFX are not *that* spectacular that absolute top of the range specs can't handle it... :|

Share this post


Link to post
Share on other sites
Don't confuse multithreading and dual core support.  

ArmA is a multithreaded game.

Heck, basic Java apps I write are multi-threaded.

Hi

Please show us your proof that Armed Assault is multithreaded.

Thank You.

Baddo

Show proof it's not. I doubt that the various game functions all execute inside the same game loop.

The game may not take advantage of a second processor but it most certainly shares processor cycles amongst various seperately executing game function loops.

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  

×