Jump to content
Sign in to follow this  
bluesteel

[Answered] ArmA 2 - Multicore-CPU support flawed? (only 50% CPU usage on quadcore)

Recommended Posts

This particle demo does not involve heavy scheduling that happens in game. That kind of processing is actually offloaded to GPU, and it would be silly not to do so since GPUs are massively parallel in nature and very strong at particle effects.

I think, and writes so, they refer to simulating the particles rather than actually drawing them. Maybe it was designed like this by then in Valve engine...its 2006 article.

What I get from the sentence is particle effects in Source engine is simulated by the CPU and this simulation is then rendered by GPU.

Edited by Cross

Share this post


Link to post
Share on other sites
So, the question here is: Is it worth buying a quad-core processor over a dual-core for playing ArmA 2? Or will there be such a minimal difference that the cost is not worth it?

Well put it this way

Would I prefer to spend £100 extra from a good dual to a Quad

OR

Would I prefer to go from a £160 to a £260 GPU?

I pick the latter personally

If I were deciding on a PC now I would go for the AMD phenom IIx2 550, I mean it was beating the x3 720 on a lot of tests and it was rivaling a x4 955 and its under £80, then I would go out with he money left over and buy a 1GB GTX 285 :yay:

But instead I got a Q6600 about a year and a half ago :D

Share this post


Link to post
Share on other sites
Well put it this way

Would I prefer to spend £100 extra from a good dual to a Quad

OR

Would I prefer to go from a £160 to a £260 GPU?

I pick the latter personally

Agree.

single 2.4 to quad 3? A BIG DIFFERENCE!!!

i think you meant single 3.0 to quad 2.4. The quad should still be better in most cases but if you're playing a game which ONLY uses one core, then you might be better off with the single for that game.

Negative. Even in times of Win2000 you'd get better in game performance if the game was oblivious to second core existence. It was documented multiple times that Dual core brings massive improvements to games especially in min FPS. XP, Vista and 7 are even better at multi-core support.

I have a q6600 and i think its worth it because my experiences with a single core were laggy... veeerryy veerryy laagggyyyy

A dual 3.0 is a better comparison to a quad 2.4 and in most cases the dual core would win except the quad can handle many more units in ARMA2, whilst the Dual will give steadier performance if it isn't being pushed.

Agree about Q6600. I don't think you can claim more units being handled better in Arma2 by quad CPU. There is simply no evidence of this. Supreme commander for example and other massive RTS games (Stainless Steel mode for Medieval II with 3000-5000 soldiers on map) do help with tri and quad cores.

imagine dual and quad as 2x and 4x, this helped me a lot when i made my first ever choices for a computer e.g. 2.4 x 4= 9.6.

Technically it isn't the same because the processing cores on the quad are smaller but i'll leave you with this for now ;)

Never use voodoo math like this. You can't say Quad Core is twice faster than Dual core in games especially.

Kind regards.

Edited by Skeptic

Share this post


Link to post
Share on other sites

Checking out Arma 2's system specs. and wondering wich Cpu is the best for ARma 2?

Amd or intel on optimum config...

Optimal PC Requirements

* CPU: Intel Core 2.8 GHz / AMD Athlon 64 X2 4400+ or faster

* RAM: 2 GB

* Video Card: NVIDIA GeForce 8800GT / ATI Radeon 4850 with Shader Model 3 and 512 MB VRAM or faster

* OS: Windows XP or Vista

Share this post


Link to post
Share on other sites
Checking out Arma 2's system specs. and wondering wich Cpu is the best for ARma 2?

Amd or intel on optimum config...

Optimal PC Requirements

* CPU: Intel Core 2.8 GHz / AMD Athlon 64 X2 4400+ or faster

* RAM: 2 GB

* Video Card: NVIDIA GeForce 8800GT / ATI Radeon 4850 with Shader Model 3 and 512 MB VRAM or faster

* OS: Windows XP or Vista

This should help you somewhat: AnandTech Bench tool.

How to use it:

1. Select first CPU in "Choose first product" window

2. Select second CPU you want it to compare against in "Choose second product" window

3. Click on "View comparison button"

Scroll down to games. Sorry, no Arma there, but at least it will give you an idea.

Cheers.

Share this post


Link to post
Share on other sites
single 2.4 to quad 3? A BIG DIFFERENCE!!!

i think you meant single 3.0 to quad 2.4. The quad should still be better in most cases but if you're playing a game which ONLY uses one core, then you might be better off with the single for that game.

I have a q6600 and i think its worth it because my experiences with a single core were laggy... veeerryy veerryy laagggyyyy

A dual 3.0 is a better comparison to a quad 2.4 and in most cases the dual core would win except the quad can handle many more units in ARMA2, whilst the Dual will give steadier performance if it isn't being pushed.

imagine dual and quad as 2x and 4x, this helped me a lot when i made my first ever choices for a computer e.g. 2.4 x 4= 9.6.

Technically it isn't the same because the processing cores on the quad are smaller but i'll leave you with this for now ;)

Nope, I really did mean Single 2.4 to Quad 3.0. :p Got quite an old processor, going for a Phenom II X4 940. :D

Share this post


Link to post
Share on other sites
Nope, I really did mean Single 2.4 to Quad 3.0. :p Got quite an old processor, going for a Phenom II X4 940. :D

Let's put it this way then, if you won't chain your new quad core to the floor - it will be so fast it will fly the f**k out of your window. :D

Share this post


Link to post
Share on other sites
Nope, I really did mean Single 2.4 to Quad 3.0. :p Got quite an old processor, going for a Phenom II X4 940. :D

Is it an Athlon 64, or an old Pentium 4?

Either way, you will notice quite the difference. Remember also that Gigahertz ratings are meaningless when you're comparing between different types of CPUs. A 3GHz Phenom II could easily be the equivalent of your old single core running at 3.5GHz+, and that's before you take the amount of cores into account.

Share this post


Link to post
Share on other sites
Is it an Athlon 64, or an old Pentium 4?

Either way, you will notice quite the difference. Remember also that Gigahertz ratings are meaningless when you're comparing between different types of CPUs. A 3GHz Phenom II could easily be the equivalent of your old single core running at 3.5GHz+, and that's before you take the amount of cores into account.

It's an Athlon 64 3400+ if that helps, also upgrading my GPU from X1650 Pro (512MB) to a HD4850 1GB, but that's off-topic. :p

Share this post


Link to post
Share on other sites

Here's quick AMD Quad vs Intel Dual at 3GHz:

E8400.png

And Quad vs Dual, both Intel both same GHz, same architecture:

E8400vsQuad.png

Far Cry 2 seems to be very well optimized.

Edited by Skeptic

Share this post


Link to post
Share on other sites

Woah, you guys derailed my thread a little bit.

What I can share on the discussion is this:

Disabling 2 cores (or, well, shifting affinity to 2 cores instead of 4) lowered my framerate considerably. The CPU usage was down to 25-40%, or in other words 50-80% of a dualcore system. Framerate in that specific case was down from 50fps to 30fps, which would indicate that even if a quadcore is only used to 50%, it still runs ArmA 2 way faster than a dualcore.

Changing the affinity of the running game might be problematic though, depending on how multithreading is implemented in ArmA. So takes this information with a grain of salt until someone produces a proper benchmark. Disabling 2 cores in BIOS would be a better way of comparing performance, but I'm too tired today to do anything like that.

Share this post


Link to post
Share on other sites

I'm guessing from the chart that Far Cry 2 is more multi-core optimized? That's the only thing I can think of that could produce such a result...

EDIT: And now looking at both charts, I come to the conclusion that Intel CPUs are better than AMD processors. Correct me if I'm wrong anyone. :p

Edited by Simon C

Share this post


Link to post
Share on other sites
I'm guessing from the chart that Far Cry 2 is more multi-core optimized? That's the only thing I can think of that could produce such a result...

EDIT: And now looking at both charts, I come to the conclusion that Intel CPUs are better than AMD processors. Correct me if I'm wrong anyone. :p

Let take this discussion here: http://forums.bistudio.com/showthread.php?t=72181

Woah, you guys derailed my thread a little bit.

What I can share on the discussion is this:

Disabling 2 cores (or, well, shifting affinity to 2 cores instead of 4) lowered my framerate considerably. The CPU usage was down to 25-40%, or in other words 50-80% of a dualcore system. Framerate in that specific case was down from 50fps to 30fps, which would indicate that even if a quadcore is only used to 50%, it still runs ArmA 2 way faster than a dualcore.

I wonder if you made it run worse by messing with affinity. Yep, proper would be through BIOS if that's possible. Sorry if we derailed your thread BlueSteel. ;)

Share this post


Link to post
Share on other sites

Changing the affinity of the running game might be problematic though, depending on how multithreading is implemented in ArmA. So takes this information with a grain of salt until someone produces a proper benchmark. Disabling 2 cores in BIOS would be a better way of comparing performance, but I'm too tired today to do anything like that.

Interesting!

I will look forward to testing a 2x2 @3ghz. I'm able to disable 1 cpu.

Share this post


Link to post
Share on other sites
Changing the affinity of the running game might be problematic though, depending on how multithreading is implemented in ArmA. So takes this information with a grain of salt until someone produces a proper benchmark. Disabling 2 cores in BIOS would be a better way of comparing performance, but I'm too tired today to do anything like that.

If you want to experiment with this, you can use -cpuCount=X. This will override our autodetection. Changing affinity on the fly is definitely not good, because worker threads are spawned on the game initialization, and by lowering affinity later you cause threads competing for cores. The best way to simulate dual core on quad core is to use -cpuCount=2 when you run the game and then change the affinity to 2 cores to make sure additional cores can never be used when some overshedulling happens. It might be also possible to set the affinity in the OS before you launch the process, that would work as well.

Share this post


Link to post
Share on other sites

Suma, what is your take on this thread? Is it expected behaviour that the framerate drops considerably and the game becomes CPU-bound in the later campaign-missions, or might this be a bug of some kind?

I'll do some more tests when I'm back from work, will be interesting to see how big the difference between 2 and 4 cores actually is.

Share this post


Link to post
Share on other sites
It might be also possible to set the affinity in the OS before you launch the process, that would work as well.

Suma, this is exactly what I'm doing using /AFFINITY switch in a batch script but without -cpuCount.

I've done some tests last night on our server, allmost 50 players on the server playing a coop mission. A2 started with -server command line switch.

With affinity set to four cores (it's a Core i7 server running Win 2008) one core was running at full speed, means 100 % utilized, while all others were at 10-30 %.

Then I set affinity to 2 cores. What happened was that both cores were utilized allmost the same but not running at full, about 80-90 %.

Max overall cpu usage never got higher than about 25 %, doesn't matter if the A2 server is running with 2, 4, 6 or even 8 cores.

So what do you recommend ?

2 or 4 cores ? And will there be more multicore optimizations in the future ?

Xeno

Share this post


Link to post
Share on other sites

Max overall cpu usage never got higher than about 25 %, doesn't matter if the A2 server is running with 2, 4, 6 or even 8 cores.

Not possible... you probably meant 50% on a quad which is expected. (well maybe you are right due to HT capabilities of i7s but this is misleading I guess)

Read the posts earlier in the thread..I tried to explain why you cannot have all of the 4 cores running @ 100% simultaneously unless the game engine if quad-thread (currently ArmA is dual thread).

Yet whether running ArmA2 with no affinity on a quad is more efficient than running it with 2 core affinity is something to be investigated. In both cases ArmA2 seem not to use more than 2 core worth of CPU power.

Edited by Cross

Share this post


Link to post
Share on other sites
Not possible... you probably meant 50% on a quad which is expected. (well maybe you are right due to HT capabilities of i7s but this is misleading I guess)

That's i7, 25% is max for 2 cores :)

Read the posts earlier in the thread..I tried to explain why you cannot have all of the 4 cores running @ 100% simultaneously unless the game engine if quad-thread (currently ArmA is dual thread).

I'm aware that I can't run 4 cores at 100% though it is pretty strange that with four cores one is running allways at max while the others get only utilized 10-30 % and with 2 cores both get utilized allmost equal.

Hopefully the "real" dedicated server can be optimized to make use of more cores than two.

Yet whether running ArmA2 with no affinity on a quad is more efficient than running it with 2 core affinity is something to be investigated. In both cases ArmA2 seem not to use more than 2 core worth of CPU power.

In my experience limiting the number of cores is more efficient.

Good thing is, that with allmost constantly 50 players (coop and pvp) on the server I had some good testing environment :). I've now set affinity to two cores.

Sometimes the server hangs during the mission for some time, means the server simply stops responding but doesn't crash and continues after a while (minute or so). But that doesn't happen allways. Might also be related to players loosing connection.

Other than that I haven't seen the yellow or red chain very often although many players were connecting and disconnecting.

But one out of memory crash :(

Xeno

Share this post


Link to post
Share on other sites

I'm aware that I can't run 4 cores at 100% though it is pretty strange that with four cores one is running allways at max while the others get only utilized 10-30 % and with 2 cores both get utilized allmost equal.

Hopefully the "real" dedicated server can be optimized to make use of more cores than two.

It is the game engine that is limited to 2 threads... 1 core micro-AI and 1 core rest. Micro-AI is assigned to 1 CPU core (Core-1) and the other to the remaining ones (ie cores 2-3-4 in the case of quad and core 2 in teh case of dual)

I think it is more efficient to design it like this than leaving all queing to the OS..so that OS doen't have to mix requests from each process.

Share this post


Link to post
Share on other sites

I ran a very CPU intensive script (specifically dynamically loading Rahmadi height-map data into A2 using Dynamic Terrain tiles) on my quad core and saw a high of 60% cpu utilisation. This means it is operating on at least 3 cores and this without there being any AI on the map. Bear in mind, though, that at this point the game freezes for about 20 seconds while processing hundreds of thousands of height points and animating the tiles to take on the correct shape, so it is an entirely artificial situation. Still, this might give us hope for utilising quad core fully (if the engine+scripts can use 3 cores, as in this example + 1 core for micro-AI, that is all 4 cores as far as I can tell).

Q9300 quad@2.5

Share this post


Link to post
Share on other sites
It is the game engine that is limited to 2 threads... 1 core micro-AI and 1 core rest. Micro-AI is assigned to 1 CPU core (Core-1) and the other to the remaining ones (ie cores 2-3-4 in the case of quad and core 2 in teh case of dual)

If I run it on 4 or more cores it's allways the last core that is running at full speed.

So which one is handling the AI ? :)

The only one who can tell us that exactly is Suma.

But, there's allways room for improvement. And I think that we will see more improvements in the future. Would be nice for the dedicated server to see it using four or more cores.

Xeno

Share this post


Link to post
Share on other sites
If I run it on 4 or more cores it's allways the last core that is running at full speed.

So which one is handling the AI ? :)

The only one who can tell us that exactly is Suma.

Xeno

I was talking figuratively...for the sake of the example...

[nerdness]

http://en.wikipedia.org/wiki/Simultaneous_multithreading

What I mean is game engine is designed to have 2 simultaneous threads...

it is like

it can calculate a=e+u (on Core1) and d=c+f (on Core2) at the same time. if it has another calculation g=h+k (on Core2) then it has to wait until d is calculated because all the vowels use Core1 or use Core3 but cannot do it simultaneously while d is being calculated because game engine does not send that request until it gets the calculated value for d. And there lies the limit for full utilization of quad-core CPUs for the game engine. You need to create another independent thread in the engine that will be run parallel to the existing 2...and you'll be utilizing your 3 cores[/nerdness]

Disclaimer...With the above statement, I hope to achieve the level of nerdness Raggedyman inserted to me with his aerospace related over-wing vortice explanation :D

Edited by Cross

Share this post


Link to post
Share on other sites

As you i´ve been testing the game in my pc, and i have the same problems.

My GPU its not the best 9600GT 512, but the problem with fps are only when the IA begins to be active.

i do a test in the editor.

First in a zone empty i get near 40+ fps depending zone (cities kill my fps i dont know why...).

Second i put two enemy squads one in fornt to the other and as they begun to shot the fps get down under 20...

Then as you I,ve made the same experiment, changin the Graphic configuration... even to a very low spec 50% filrate and 640x480... and the fps stay at the same values -20...

So the problem is clearly the optimisation of the game with the cpu, maybe the GPU limites some options, but the most important is CPU power.

When a soldier does cover fire with a Mg the frames are -10 less..., so i think this game must be patched or some scripts eliminated or tweeked.

I´ve been playing arma many time and i think arma 2 has the same problems with optimisation. Maybe in version 1.05 or more wi wil play this game decently.

I´m not going to change my pc at the moment because a lot of people with intel i7 and very good GPus(GTX280...) have the same problem... so clearly is a problem of the game. i will wait for a bether optimisation to see what sistem to buy to handle with this game.

My first impressions of performance with this game are as they where with gothic 3... unplayable... so i hope the patching would be the solution.

My pc:

AMDx2 3800+ 2 Ghz

4 Gb ram

nvidia 9600 GT 512

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  

×