Jump to content
Sign in to follow this  
Herbal Influence

Game CPU-Optimization - no troubleshooting !

Recommended Posts

Hi cogamers,

there is a rumour around that Arma2 can be greatly optimized concerning cpu usage.

And this THESIS I want to discuss about.

Some early points to begin with:

- some players (Intel as AMD users) claim low cpu usage

- and little cpu-channel usage

- "doesn't seem to use the pagefile...I've watched HDD access and well....Theres nothing being written to the pagefile at all.", says Masterfragg

My personal impression is that Arma2 simply needs a very good cpu and this NOT FOR NO REASON but for gameplay, graphics, AI intelligence. So that's my thesis too.

My cpu does a 55 up to 90 %, mostly over 75 % usage which I find optimal - but I am no expert.

No troubleshooting discussion please!

No graphic tuning discussion - there are other threads!

Thanx, Herbal

Edited by Herbal Influence

Share this post


Link to post
Share on other sites

My personal impression is that Arma2 simply needs a very good cpu and this NOT FOR NO REASON but for gameplay, graphics, AI intelligence. So that's my thesis too.

All BIS games have been very CPU taxing because of their complexity and scale but i dont understand A2's steep requirements, most people here seem to accept them but i dont think they are really justified, though BIS have been using the excuse that the game is very big, complex and you can go anywhere, its the same game.

A2 gameplay didnt really change compared to Armed Assault, they scripted a few new features/functions that didnt work properly, simulation and gameplay is the same, vehicles still poorly simulated are the same.

AI increased awareness, precision and cover system i could agree with, though the game can still struggle just by drawing scenery.

Technical changes to the game? Multi cpu core support and shadder model 3, shouldnt those make the game more efficient than before :confused: ?

Picture this..

Multiple CPU core support didnt work quite as expected.

Features and functions poorly implemeted.

SM 3.0 increased use of shadders, unlike Armed Assault not adjustable (loss of scalability).

Destruction model used everywhere instead of just the bridges and few structures, less optimised yet more detailed buildings.

Lots of high detailed vegetation and artwork = very complex scenes.

Has the graphics engine reached the end of its life cycle? I dont think they are beating a dead horse, just not doing things very well.. you can tell A2 was made in a rush.

Share this post


Link to post
Share on other sites
All BIS games have been very CPU taxing because of their complexity and scale but i dont understand A2's steep requirements, most people here seem to accept them but i dont think they are really justified, though BIS have been using the excuse that the game is very big, complex and you can go anywhere, its the same game.

A2 gameplay didnt really change compared to Armed Assault, they scripted a few new features/functions that didnt work properly, simulation and gameplay is the same, vehicles still poorly simulated are the same.

AI increased awareness, precision and cover system i could agree with, though the game can still struggle just by drawing scenery.

Technical changes to the game? Multi cpu core support and shadder model 3, shouldnt those make the game more efficient than before :confused: ?

Picture this..

Multiple CPU core support didnt work quite as expected.

Features and functions poorly implemeted.

SM 3.0 increased use of shadders, unlike Armed Assault not adjustable (loss of scalability).

Destruction model used everywhere instead of just the bridges and few structures, less optimised yet more detailed buildings.

Lots of high detailed vegetation and artwork = very complex scenes.

Has the graphics engine reached the end of its life cycle? I dont think they are beating a dead horse, just not doing things very well.. you can tell A2 was made in a rush.

Spot on. This post pretty much sums up all my disappointments compared to Arma1 as far as performance goes. With the upgrades to the engine in Arma2, the performance difference should not be as bad as it is when compared to Arma1. Imo Multicore support is doing nothing. We can only keep our fingers crossed that they actually can fix it with a patch (anything actually tangible to do with boosting performance)..but I'm starting to have my doubts.

The very least I expected was that we would be able to run Arma2 with GFX settings equivalent to Arma1 and get the same, if not better performance, but for me that just is not possible.

Share this post


Link to post
Share on other sites

I have a bit of a theory (minor one but anyways).

I noticed that if I turn C1E support off it crashes Arma 2. C1E is enhanced halt state, it basically tells the CPU to lower the clock when it's not needed. It's possible that it's trying to lower the CPU clock and failing which is causing the crash. Now if C1E was left on then it would lower the clock meaning that the usage on an overclocked CPU would show only a percentage of it's full overclocked state.

Of course, without an overclock c1e wouldn't go into effect and the CPU usage would be around 90%, but depending on the amount overclocked then when C1E go's into effect the registers could start reading it as only utilising a small amount of it's maximum.

Share this post


Link to post
Share on other sites

Yeah this game is very CPU demanding. My little 5600+ is struggling to not commit suicide everytime I load up Warfare.

Share this post


Link to post
Share on other sites

Theres alot of things the engine has to filter, draw, load, path etc, for example if you got your view distance past 5000 you might run into some problems with your CPU being almost fully used, the optimization I think could be better but it will be patched, the engine is not fully matured, Im expecting it to be improved with OA as the devs said, so if your CPU is being used up tune down the Viewdistance.

This game was optimized more for a Dualcore for what I heard, and Quadcores not so much but it still takes advantage of the extra cores.

Share this post


Link to post
Share on other sites

I'm excited for OA because it will feature more urban/desert environments. I think this will be less strenuous on my CPU because of less trees and shrubbery. I would totally buy a new CPU, but to do that I need a new motherboard, for a new motherboard I need new RAM, and for those things I need money. Money which I do not have.

Share this post


Link to post
Share on other sites

I am read this post and i have a question for you:

I have a quad core Q6600 to 2.6 at 3.8GHz,and when i play in the campaign the cpu load at 55% max,instead in the SP or editor mode,the cpu load at 75-80% and the fps improve so much...

Why happens this?

Bad scripts?

Share this post


Link to post
Share on other sites

Some notes:

SM 3.0 increased use of shadders, unlike Armed Assault not adjustable (loss of scalability).

You can tweak shaders in the arma2.cfg: postFX=0;

I've made a proper addon to have an ingame UI to change it too.

Destruction model used everywhere instead of just the bridges and few structures, less optimised yet more detailed buildings.

It is possible to disable the destruction system easily. Tried that?

Try my performance tweak for buildings?

Lots of high detailed vegetation and artwork = very complex scenes.

Try my performance tweak for vegetation?

---

Overall I do agree that BI did not think through their design decisions well.

Just saying fans made it right again. ;)

Share this post


Link to post
Share on other sites

@kju:

wow! that's just a big list of tweaks!

Questions:

Does it increase performance by reducing quality of view somehow?

-> this would be the proof that Arma2 can be optimized without reducing quality.

(OT:

Will I be able to join server after installing this? Isn't there one "big file" - do I really have to install about a ... somewhat 25 files to get the whole optimization?)

Thanx!

Edited by Herbal Influence

Share this post


Link to post
Share on other sites

It's a lot less of work to take a look at mods section whan writing all of those questions.

Share this post


Link to post
Share on other sites

Ok - I deleted that OT-questions, for not to derail the topic here.

But things have to keep readable here.

I didn't get a clue about my question though I read - before ! - the mods sections question.

One question remaining though. The most important.

Edited by Herbal Influence

Share this post


Link to post
Share on other sites

Hi Herbal

In another thread you asked how I checked how many CPU threads were being used during Arma 2 gameplay?

Well heres the how to dude.

On XP goto Start/Run and type "perfmon" without the qoutes

Expand the "CPU" section and all the information is right there.

Hope that was the information you were after dude. On my AMD Athlon 64 x4 Phenom II 940BlackEdition I have 21 to 22 threads max (Which anyone will tell you is god awful for any game)#

Although any help you can give on getting Arma2 to run better (without making it look like arse) would be awesome, to be honest the only reason I get so damn arsey in these forums is at my end at least it feels like BIS just coughed up a beta although judging by the amount of people that are running the game there has to be a fix :)

Share this post


Link to post
Share on other sites

Improved Performance in Vista 64BIT, I finnnaly found the root cause of all my HDD Grinding in Vista64 by disabling all these services.

Search for these in google and use the services manager in control panel to disable or change when they run.

Start Menu > Control Panel > Admin Tools > Services

1. Turn off Search Indexing

2. Turn off Superfetch (This was the biggest grinder that vista was doing to my poor HDD)

3. Turn off Windows Search

3. Turn off Windows Update

4. Turn off Windows Restore Points

5. Turn off Windows Firewall (Make sure your using Third Party Firewall Program)

6. Turn off Windows Defender (Make sure your using Third Party Anti-Virus Protection)

This decreased loading times in vista and arma and overall performance in ArmA was increased with smoother gameplay..

Let me know how you get on.

Share this post


Link to post
Share on other sites

Correct way to get better performance is that developers or addon makers optimize all models.I read somewhere in these forums that bad fps in city areas is caused by lots of open vertices (don't ask,ihave no experience in modelling) in building models.

Share this post


Link to post
Share on other sites
Improved Performance in Vista 64BIT, I finnnaly found the root cause of all my HDD Grinding in Vista64 by disabling all these services.

Search for these in google and use the services manager in control panel to disable or change when they run.

Start Menu > Control Panel > Admin Tools > Services

1. Turn off Search Indexing

2. Turn off Superfetch (This was the biggest grinder that vista was doing to my poor HDD)

3. Turn off Windows Search

3. Turn off Windows Update

4. Turn off Windows Restore Points

5. Turn off Windows Firewall (Make sure your using Third Party Firewall Program)

6. Turn off Windows Defender (Make sure your using Third Party Anti-Virus Protection)

This decreased loading times in vista and arma and overall performance in ArmA was increased with smoother gameplay..

Let me know how you get on.

Thanx Opticalsnare - this will true be a help to some.

But as I said this shall not get a troubleshooting thread but only concentrate on whether there are hints that the game *itself* can be optimized / is not yet optimized.

My thesis is: The game needs what it takes, a very good cpu for good reason.

This is to falsify.

---------- Post added at 23:18 ---------- Previous post was at 23:15 ----------

Hi Herbal

In another thread you asked how I checked how many CPU threads were being used during Arma 2 gameplay?

Well heres the how to dude.

On XP goto Start/Run and type "perfmon" without the qoutes

Expand the "CPU" section and all the information is right there.

Hope that was the information you were after dude. On my AMD Athlon 64 x4 Phenom II 940BlackEdition I have 21 to 22 threads max (Which anyone will tell you is god awful for any game)#

Although any help you can give on getting Arma2 to run better (without making it look like arse) would be awesome, to be honest the only reason I get so damn arsey in these forums is at my end at least it feels like BIS just coughed up a beta although judging by the amount of people that are running the game there has to be a fix :)

Thanx !

I tried it but got no information about "channels".

I saw the nice graphic and the

- green line for CPU-time wents up and stays over 80 percent during gameplay

- the yellow line for "pages" stays continously at 95 %

- the blue line moves between zero and at most about a 10 %

I cannot see nothing bad in that? Am I wrong?

---------- Post added at 23:19 ---------- Previous post was at 23:18 ----------

Correct way to get better performance is that developers or addon makers optimize all models.I read somewhere in these forums that bad fps in city areas is caused by lots of open vertices (don't ask,ihave no experience in modelling) in building models.

Ok - thanx.

Therefore we should try to find proof.

I do even remember to have read something like that ...

Share this post


Link to post
Share on other sites
Thanx Opticalsnare - this will true be a help to some.

But as I said this shall not get a troubleshooting thread but only concentrate on whether there are hints that the game *itself* can be optimized / is not yet optimized.

My thesis is: The game needs what it takes, a very good cpu for good reason.

This is to falsify.

---------- Post added at 23:18 ---------- Previous post was at 23:15 ----------

Thanx !

I tried it but got no information about "channels".

I saw the nice graphic and the

- green line for CPU-time wents up and stays over 80 percent during gameplay

- the yellow line for "pages" stays continously at 95 %

- the blue line moves between zero and at most about a 10 %

I cannot see nothing bad in that? Am I wrong?

---------- Post added at 23:19 ---------- Previous post was at 23:18 ----------

Ok - thanx.

Therefore we should try to find proof.

I do even remember to have read something like that ...

Herbal you seem to be slightly mis-informed with computer jargon lol

CPU Channels = CPU Threads

Relook at perfmon and check out how many "Threads" are there, or google perfmon how to and you should come up with some decent infolinks on perfmon.

Share this post


Link to post
Share on other sites

One thing I noticed with the thread count is that when you start a mission it drops from 18 (already very low) to around 14 (extremely low)

---------- Post added at 02:07 PM ---------- Previous post was at 01:41 PM ----------

Alright, did a few more tests.

Tested under Windows 7 32bit

Using Core2Duo E7300 (Hyperthreading not supported) - Maximum or 2 Cores :

If I loaded Arma 2 with -Cpucount=2 Arma 2 runs at 18 threads (same as without specifying, default)

-cpucount=1 - Arma 2 runs at 16 threads.

Decided to mess with Arma 2 to trick it into creating a memory leak :

-CPUcount=3 - 20 threads

-CPUcount=4 - 22 threads

-CPUcount=5 - 24 threads

-CPUcount=8 - 30 threads

Fun but this obviously caused lag/freezing every time Arma 2 tried to access the non-existant cores.

The lag/freezing seemed like the lag/freezing that many have reported during memory leaks in the game, so without going too much into troubleshooting, may get good for those with memory leak issues to force 2 CPU cores.

Testing under Windows XP 32bit gave me 11 thread count on default.

My performance under XP is about 8% better than Windows 7 32bit.

---------- Post added at 02:12 PM ---------- Previous post was at 02:07 PM ----------

One thing I forgot to point out was at each stage the resources Arma 2 were using :

CPU load 75%-90%

Ram usage = 1.9gb

Page File usage = 2.1gb

Edited by Bulldogs

Share this post


Link to post
Share on other sites

Thanx so much for delivering all these data above!

One thing I noticed with the thread count is that when you start a mission it drops from 18 (already very low) to around 14 (extremely low)

Can you tell what would be optimum/max/ in terms of numbers of threads?

Why is "14" "extremely low", I mean, how can I know?

"14" seems a lot to me if I can compare to a singleprocessor doing only one thread at a time?

I know that single-core-cpus also do kind of multithreading - but how do differentiate?

Should the multicore-cpu do x-times more threads? (x-meaning the number of cores)

For all other readers:

Here I found a nice (=simplest) explanation of multithreading.

---------- Post added at 08:18 ---------- Previous post was at 08:12 ----------

[/color]

Herbal you seem to be slightly mis-informed with computer jargon lol

CPU Channels = CPU Threads

Relook at perfmon and check out how many "Threads" are there, or google perfmon how to and you should come up with some decent infolinks on perfmon.

I tried that. I can't find the data on "Threads" ... :o

Problem is, I am on Linux now and can only check again tonight.

Problem might be, that my perfmon-language is german.

I did a search for it, no nice explanations on perfmon found.

In another thread, just opened, here I also found sayings about core-using.

Edited by Herbal Influence
Another thread

Share this post


Link to post
Share on other sites

If you look under Processes (not processors) you should find thread count.

Average thread count for most games is usually around 38-44 from what I've noticed.

---------- Post added at 11:28 PM ---------- Previous post was at 11:27 PM ----------

I should add that it's also not a case of how many threads are going through the CPU at once, it's a case of how many threads per operation, kinda.

Share this post


Link to post
Share on other sites
If you look under Processes (not processors) you should find thread count.

Average thread count for most games is usually around 38-44 from what I've noticed.

---------- Post added at 11:28 PM ---------- Previous post was at 11:27 PM ----------

I should add that it's also not a case of how many threads are going through the CPU at once, it's a case of how many threads per operation, kinda.

I'm actually going to do some tests myself, I'm going to see if there is truth behind the Arma2 engine being nothing more than OFP's engine modded.

If this is true it would explain the CPU thread bottleneck.

I have claimed that BIS have reused the same engine as per their original plan but now I'm going to get some evidence :P be back in 10 minutes.

Operation Flashpoint: Resistence Tested on CO2: Battlefields (SPMISSION) CPU Thread = 7 Average

Armed Assault (1) Tested on Sanitizing Operation (SPMISSION) CPU Thread = 15 Average

Arma 2 Tested on Trial by Fire (SPMISSION) CPU Thread = 22 Average

Now I'll test another game, Just for shits and giggles lets go with the recently released Operation Flashpoint Dragon Rising (Only other large scale game I can think of)

Operation Flashpoint: Dragon Rising Tested in Campaign Mission CPU Thread = Average 40

Now I know it's a comparison that no one likes but this is purely from a technical view so don't panic.

To me it seems as if Dual Core support was added to the OFP engine with some Shader upgrades and that was it, in Arma2 I don't know if they have attempted to add Quad Core support or what. But currently the CPU Thread count is really low if they double the threads they may improve performance on machines like mine.

Which honestly is the ONLY thing keeping me from playing the game, I'd love BIS again if they fixed it but for some reason I have this horrible doubt in my gut that tells me they won't :(

Edited by Masterfragg

Share this post


Link to post
Share on other sites
I have a bit of a theory (minor one but anyways).

I noticed that if I turn C1E support off it crashes Arma 2. C1E is enhanced halt state, it basically tells the CPU to lower the clock when it's not needed. It's possible that it's trying to lower the CPU clock and failing which is causing the crash. Now if C1E was left on then it would lower the clock meaning that the usage on an overclocked CPU would show only a percentage of it's full overclocked state.

Of course, without an overclock c1e wouldn't go into effect and the CPU usage would be around 90%, but depending on the amount overclocked then when C1E go's into effect the registers could start reading it as only utilising a small amount of it's maximum.

Ummm I don't think that's the case. I keep my C1E state off whenever I build a box and A2 hasn't crashed on me a single time...?

Share this post


Link to post
Share on other sites

Also Herbal I'd like to explain about CPU Threads.

I don't know if you already know this but I get the impression you don't sorry if you do though.

CPU Threads are basically channels as you know opened from Program X to CPU.

These are not CORE dependant at all.

You can have a program with 500 Threads on 1 core it wouldn't do anything but bottleneck inside your system but it's possible.

http://en.wikipedia.org/wiki/Thread_%28computer_science%29 Explains it much better than I can if your into computer sciences.

Basically CPU Hyperthreading and Process Multithreading are not "Exactly" the same thing and shouldn't be confused.

So, basically 14 Threads for a game is extremely low considering it apparently calculates A.I, Physical Object Collision, Triggers and such Variables BIS have basically cocked up the logic behind the core program.

Now this could be fixed with some reconstruction but I'm sure BIS are not too worried about it at the second (Sadly).

Hope that cleared some stuff up mate.

Edited by Masterfragg

Share this post


Link to post
Share on other sites

Ok - I thank you very much for your learned comments on this and your test data.

Lemme try, if I got it correctly and for this continue with the most "explosive" example ;) , like you did it:

As DR threads the work to be done in 40 different channels - does this mean it doubles (at least the) possibility to get the work much faster done than when its threaded into 20 channels?

(Not sure whether it's correct to speak of channels here - pls gimme better word?)

I found two possible reasons why this might not be straight right:

I may be very wrong, but my perception is that having more threads than

CPU only enhances performance when non-CPU-intensive tasks are

involved, e.g. user-interaction or blocking-I/O. In those cases, the

CPU can context-switch to a thread doing processing, while the other

thread is waiting for user input or I/O.

In the case of a CPU-intensive task, CPU utilisation should already be

high (> 80%?), and introducing more threads would probably only degrade

performance due to context switching overhead, and the possibility of

thread-starvation.

http://www.velocityreviews.com/forums/t146728-ideal-number-of-threads-for-cpu-intensive-task.html

and what I could imagine as an "overhead" or "backoffice" problem:

As a general rule, you don't want to use more threads than you have processors. (Using more threads will work, but there will be extra overhead with no benefit.)

http://www.fftw.org/fftw2_doc/fftw_4.html

So why can we be sure Arma2 would run faster with 40 threads?

Another question:

As Masterfragg has shown the amount of threads did continously increase over OFP, Armed Assault and Arma2: Isn't this a true hint for that the engine was overhauled or optimized?

Edited by Herbal Influence

Share this post


Link to post
Share on other sites

Having different threads in a game is always good. While some threads are waiting for memory of even HDD or input devices, other threads are doing their job. But if you are into the computer science you probably heard about the Amdahl's law. We can't get get a boost if we only add more threads.

I agree with Herbal Influence. There is nothing to indicate that having 40 threads is better then having 20 threads.

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  

×