Jump to content
Sign in to follow this  
karoshi

cpuCount ignored?

Recommended Posts

505, latest patch (1.02 2nd edition).

Was doing some testing about the multicore cpu usage. Trying to see what the load is with different cpuCount arguments. It seemed cpuCount did nothing.

Further on, if i search arma2.exe for cpucount (case insensitive) there are no matches, on the contrary, if i search for "nosplash" there is a match, and near that match is a lot of text that seem to be the command line options. None of them has got anything to do with "cpuCount".

So, is cpuCount not yet implemented?

Share this post


Link to post
Share on other sites

Depending on the offset, you may or may not be able to spot a particular string inside an exe.

From what I read, your cpu cores should be counted (and used) correctly by default. I think the initial purpose of the function is to reduce the number of cores available to the game i.e. you have 4 cores and you only want 2 for the game instance.

Share this post


Link to post
Share on other sites

You need to do cpucount then set affinity otherwise it doesn't work. It is documented in another thread somewhere, if only this fourm had a search function... oh it does ?

Share this post


Link to post
Share on other sites
You need to do cpucount then set affinity otherwise it doesn't work. It is documented in another thread somewhere, if only this fourm had a search function... oh it does ?

You miss the point of the original post. I´ve read the original thread and was trying some things out. It seems cpuCount has no effect at all. Check my posts in the quad-core thread you are referencing. I've got the game now and can try what i asked other people to try before i had the game in my hands.

Checking the number of threads spawned with procexp (sysinternals.com) there are no differences with cpuCount 1 to cpuCount 4.

Share this post


Link to post
Share on other sites

Works for me, you have to change cpucount to the number you want then change the affinity to that number also.

Strange you are unable to get it working on your testing.

Share this post


Link to post
Share on other sites
Works for me, you have to change cpucount to the number you want then change the affinity to that number also.

Strange you are unable to get it working on your testing.

You are still not understanding what I'm trying to say. Im not trying to simulate a 1/2/3 core system with my 4 core cpu. Im trying to see what arma2.exe does when I use the cpuCount parameter.

I know what affinity does. Im not interested in that. With affinity I tell the OS scheduler to (not) use a set of cores for the process in question.

Result: cpuCount seems to be ignored. Completely ignored. This contradicts public developer statements.

You can use affinity to simulate a less-core system for any process. cpuCount (if it existed) would be arma2 specific and is what interests me. In particular i wanted to see what cpuCount=8/16 or even a higher absurd number does. It does nothing. Ever.

Am i being clear? Stop saying to other people to tweak the cpuCount number (i7, whatevers).

It's like saying: and start with the parameter -bananas=42 for better sound quality and improved stability.

It's misleading, :yay::yay: and a waste of time.

Share this post


Link to post
Share on other sites

Here is the Thread that explains what cpucount can do.

Here is a POST for the people who dont want to read through a few other post to understand what CPUCount can do.

Share this post


Link to post
Share on other sites
You are still not understanding what I'm trying to say. Im not trying to simulate a 1/2/3 core system with my 4 core cpu. Im trying to see what arma2.exe does when I use the cpuCount parameter.

I know what affinity does. Im not interested in that. With affinity I tell the OS scheduler to (not) use a set of cores for the process in question.

Result: cpuCount seems to be ignored. Completely ignored. This contradicts public developer statements.

You can use affinity to simulate a less-core system for any process. cpuCount (if it existed) would be arma2 specific and is what interests me. In particular i wanted to see what cpuCount=8/16 or even a higher absurd number does. It does nothing. Ever.

Am i being clear? Stop saying to other people to tweak the cpuCount number (i7, whatevers).

It's like saying: and start with the parameter -bananas=42 for better sound quality and improved stability.

It's misleading, :yay::yay: and a waste of time.

Ok, I think I understand what you are getting at, basically just using the cpucount doesn't do jack, that is correct and the devs have already stated this which is what I was trying to tell you. Check here for Suma's explanation to his game and how to use that command.

http://forums.bistudio.com/showthread.php?t=73663&highlight=cpucount+affinity

Share this post


Link to post
Share on other sites
Ok, I think I understand what you are getting at, basically just using the cpucount doesn't do jack, that is correct and the devs have already stated this which is what I was trying to tell you. Check here for Suma's explanation to his game and how to use that command.

http://forums.bistudio.com/showthread.php?t=73663&highlight=cpucount+affinity

The devs have stated:

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.

Which is quite different from your statement. The devs state cpuCount does something. You say the devs said it didnt do anything. You seem to have reading comprehension problems. We can go over the sentences and compare what each of us understands, maybe im not understanding the bolded parts of both your statement and suma's statement. As I see it, the original statement by suma is misleading and states the contrary of what you say.

Somebody might, sorry, lots of people have lost their time tinkering with -cpuCount. They might as well have been trying the optimum -bananas=X parameter.

-cpuCount does nothing. It's misleading. If I change affinity, yes, it lowers performance as expected. Stop talking about affinity, this thread is NOT about affinity.

Maybe the old W2K/WinXP proggy "WinLauncher" could help out? Google it.

Thanks for the tip. I know how to set a running program's affinity with the task manager, with procexp and to start a program with a predefined affinity using the vista/w7 start.exe. Now I know about another program to do it.

This thread is NOT about affinity.

Here is the Thread that explains what cpucount can do.

Here is a POST for the people who dont want to read through a few other post to understand what CPUCount can do.

Ah yes, that thread. Have you read it? The thread i was talking about in my original post, the first post in this thread, post #1 here. Have you read my 1st post in this thread?

If you check my posts in the last 2 pages of that other older quad-core thread you are referencing you will see the test I've conducted now (procexp checking of number of threads created). In particular i explain my tests in the following post (ignore i7 talk):

TESTING METHODOLOGY POST

The other single post you reference in that thread was conducted under affinity settings: yes, the game uses more than 2 cores and no, -cpuCount does nothing. It's only affinity doing what it's supposed to do.

This thread is NOT about affinity.

For the 3rd time:

I'm not interested in setting affinity to limit the number of CPU cores. I'm interested in what cpuCount does: it does nothing, nada, -bananas=42.

This thread is NOT about affinity.

Anybody can check my tests by:

What im curious about is the load on the different threads

  • Run procexp (as admin under vista/w7). Open menu view->"update speed"->10 seconds
  • Run arma windowed, create a shortcut adding -window to the command line parameters. Let arma run in a smallish window 800x600 or even less.
  • Start (editor?) a mission with 100+ AIs in a firefight, should tax your cpus. If you have a uber-system, copy-paste a few more hundred AIs until you see your frame rate go down.
  • Switch to procexp while arma is running the heavy firefight.
  • In the list of processes locate arma2.exe and double click on it
  • A new window appears with information about the selected process (arma2.exe). The window has multiple tabs on the top, select the threads tab.
  • The threads tab shows all the threads the process is running, you can sort by CPU usage by clicking on the top of CPU column (2nd column from the left).
  • Bring the small arma window to the foreground, while keepin the threads tab in view. The foreground arma window should not overlap the procexp
    window with the CPU per thread usage data. This way the game runs in the foreground but you can still see the reported data in the other window.
  • Report on how many threads there are. Each line in the threads tab is a single thread. Each thread has a "start", thats the address where the thread started running, i believe. In any case, let's name the thread by it's start address.
  • Now report how much % of CPU each one is getting. Usually not all threads are running all the time. See which ones are running (using the "name" from the last point) and report what CPU% column for each thread reports. The cpu usage % usually is not constant, just try to give us an average for it.

Now repeat with cpuCount set to 1, 2, 4 (and 8 for i7).

Doint this test will tell us: how many threads is arma2.exe starting for each configuration selected (1,2,4,8). And how much are those threads doing.

For example, if there is a thread calculating sounds, that thread should be doing around 5% or less. If you are in the menu, possibly only 2 threads are running, one doing sound and another drawing. If you start a heavy firefight with 1000 AIs, 8 threads should show CPU usage as arma2 lets each thread handle some AI each.

DO NOT SET AFFINITY, please.

thank you

Share this post


Link to post
Share on other sites

-bananas=Infinity will give you your best results.

I hope you enjoy your testing, there must be a point i'm sure but lost interest page 1.

Share this post


Link to post
Share on other sites

Can anyone say for certain that arma2server.exe will use more than one core now on version 1.03? I'm finding the process runs at just over 50% of my dual core box and I want to be sure it will take advantage of both cores.

Share this post


Link to post
Share on other sites

Btw, in 1.03 there is no cpucount option in the exe, but it's back again in the beta. So if you pc ran better with it, upgrade to the latest beta patch.

edit: there was never a cpuCount option until a 1.04 beta to begin with apparently!

Edited by Mike84

Share this post


Link to post
Share on other sites

@OP: There never was a "-cpucount" parameter in ArmA II until the beta 1.03 build 58789, so your conclusion that it is "ignored" is correct. Phrased otherwise:

  • 1.01 does not have -cpucount
  • 1.02 does not have -cpucount
  • The latest public 1.03 patch does not have -cpucount
  • Any percieved differences using -cpucount with these versions is imaginary.

Feel free do do a string search in the 1.01-1.03 arma2.exe files. Then do the same for one of the post-58789 betas...

For reference, see the beta changelogs here: ArmA II beta patches

Edited by Killswitch

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  

×