Jump to content
Sign in to follow this  
alef

exThreads

Recommended Posts

There is a little table at A2CIT that should help understand this new parameter introduced since 70256: Geo and Tex require File to work, this has been explained by Suma somewhere here. File just enables the multithreaded operations on file, that is required by the other two.

+---+---+---+----+
| N |Geo|Tex|File|
| 1 | 0 | 0 |  1 |
| 3 | 0 | 1 |  1 |
| 5 | 1 | 0 |  1 |
| 7 | 1 | 1 |  1 |
+---+---+---+----+

  • Are Geo and Tex additional threads scheduled on different cores outside the main rendering loop?
    This would mean that while rendering in the main threads, a Geo or Tex thread can read or reallocate resources. It's an "offload" from the main loop, which in turn run faster.
    Sometimes you probably see a gray wall, but in the meantime, the Tex thread loads the wall texture.
  • How all this fits in the hybrid approach for multithreaded rendering?
  • How arma2server.exe is affected?
  • What really does File used alone (-exThreads=1)?

Share this post


Link to post
Share on other sites
Are Geo and Tex additional threads scheduled on different cores outside the main rendering loop?

When multiple threads are running at the same time, OS is scheduling them on different cores. As Geo and Tex loading (both done by the same thread) is running at the same time with the main rendering loop, the answer is yes, they are.

How all this fits in the hybrid approach for multithreaded rendering?

There is one more thread which is sometimes doing a work now, therefore additional cores get more work to do.

How arma2server.exe is affected?

Geo and Tex loading is not done on the dedicated server at all. Dedicated thread for file operations may cause a difference, but the difference can be positive or negative depending on a particular situation.

What really does File used alone (-exThreads=1)?

All file operations go though a dedicated thread. This offloads some processing from the main thread, however it adds some overhead at the same time. The reason why threaded file ops were implemented was to serve as a basement for other threads ops. Again, when used alone, there can be a difference, but it can be for good or bad depending on situation.

Share this post


Link to post
Share on other sites

As the server handles a lot of processing like AI and other things for example, a COOP mission against 200 - 250 AI using DAC 3.0 or even conventional means, I would hope some of these excellent client side performance improvements would make there way to the server side eventually someday.

Share this post


Link to post
Share on other sites
As the server handles a lot of processing like AI and other things for example, a COOP mission against 200 - 250 AI using DAC 3.0 or even conventional means, I would hope some of these excellent client side performance improvements would make there way to the server side eventually someday.

I support this idea very much.... if multi threading could be optimized for Dedicated-Servers too, this would be even more awesome :) ;)

Share this post


Link to post
Share on other sites

Hi

Could it be possible to thread the AI even more such that each faction (incl. civilian / wildlife) get's it's own 'local' thread that only interacts with the other threads when some interaction between the agents is required.

I am imagining that clustering of AI like this could be done (down to a single 'agent' (solder/animal/vehichle etc.)) could be distributed onto real physical cpu cores that was idle or underutilized.

For example when playing the Warfare MP mission in SP mode I have no interaction with the enemy faction untill we clash, which can take a long while if we start far apart.

Instead both factions are fighting the 'local' village patriots. If I had 4 unused physcial cores, those could be used to 'battle it' out without interfering with other game threads untill AI agent's involved, they get so 'close' as to require 'computation' of actions.

Maybe this is clustering of AI is already 'happening'

I have a dual Opteron setup and most of the times I total a maximum of 33 % total CPU time = maxing 2 out of 8 physical cores.

Share this post


Link to post
Share on other sites

Guys I am new to all this and wonder.

I still dont quiet understand how all this works...

I have a Quadcore and now I have the possibility to put different tasks on different cores instead of one?

I would love any explanation since I want to understand this...

Thank you a lot in advance!

Edited by Dwarden
edited wrong post lol

Share this post


Link to post
Share on other sites
Guys I am new to all this and wonder.

I still dont quiet understand how all this works...

I have a Quadcore and now I have the possibility to put different tasks on different cores instead of one?

I would love any explanation since I want to understand this...

Thank you a lot in advance!

You don't need to do anything since last beta build(s)

when game detect your quadcore it automatically uses -cpuCount=4 and -exThreads=7

so unless You have some technical issues and want to lower these values there is no point to bother

Edited by Dwarden

Share this post


Link to post
Share on other sites

Thank you very much!

So it uses exThreads=7 even without having it in the end of the shortcut? Internally?

I read about setting -cpuCount=4 manually because of detection problems, since then I have it in my shortcut. Can I remove it now? Or can I just let it stay?

Share this post


Link to post
Share on other sites
You don't need to do anything since last beta build(s)

when game detect your quadcore it automatically uses -cpuCount=4 and -exThreads=7

so unless You have some technical issues and want to lower these values there is no point to bother

What about dual core processors?

Share this post


Link to post
Share on other sites
;1654477']What about dual core processors?

Default exThreads=0 and -cpuCount=2 for Duel Cores.

Share this post


Link to post
Share on other sites

I still think the default exThreads should be 3 for Dual Cores. At least in my machine (E6850) is better (2 fps more in avg, avg min, and 3 fps more in min).

Share this post


Link to post
Share on other sites

i have a quad core with 8 virtual cores with hyper threading enabled. what ex thread setting should i use?

Share this post


Link to post
Share on other sites

since Patch 1.07 default is cpucount 4 and exthreads 7 (for quadcore CPU e.g. I7 CPU)

Edited by bensdale

Share this post


Link to post
Share on other sites

I second the statement with exThreads=3 and better, more fluid performance with dual cores.

Share this post


Link to post
Share on other sites

What would be the best values for a triplecore?

And also, do we even need to change these values?

I mean this is a sticky thread but the first post seems to be all technical lingo and not much relevant information for your 'average user' who just wants to know...

What does this have to do with me/ How can i use this to improve performance.

Share this post


Link to post
Share on other sites
What's default values for hexacores in 1.07?

they same as for quadcores so -cpuCount=4 and -exThreads=7

so i suggest You use -cpuCount=6

Share this post


Link to post
Share on other sites

Err i have know idea whats going on with the lag issue in SP and the editor. I have an Duo CPU 3.00GHz. By doing a cpuCount in OA this helps out the lag issue? Im not an CPU tech and i dont know alot about the CPU ways but, i know my OA is running very laggy in the SP game and the editor. ArmA 2 runs very good in SP and editor no lag issues like in OA. Im very confused about whats going on with OA and all this cpuCount stuff. Nothing is said about an Duo CPU, how would i fix the lag issue? Well its OA its self! BI needs to fix the big issue with the lag skipping in the game, hope this comes soon as for the game is unplayable.

Edited by 1in1class
need

Share this post


Link to post
Share on other sites

I have a 6 core 1090T BE, and am using -cpuCount=6 in the launch line. Do I need to add -exThreads=5? Thx.

Share this post


Link to post
Share on other sites
I have a 6 core 1090T BE, and am using -cpuCount=6 in the launch line. Do I need to add -exThreads=5? Thx.

Default should automatically be exThreads=7 for you, and I would probably leave it at that.

Share this post


Link to post
Share on other sites

only ArmA II:

-use ArmA II full patch 1.07 (auto detect exThreads and CpuCount)

http://www.arma2.com/support/updates/folder.html?lang=en

Arma II + OA (combined arms) or only OA

-use the last beta patch (auto detect exThreads and CpuCount)*

http://www.arma2.com/beta-patch.php

*since the first OA beta patch build 71900 is exThreads and CpuCount auto detect. however should take the newest version for more bug fixes and improfements ;)

Edited by bensdale

Share this post


Link to post
Share on other sites

Suma, is there any thread optimizations/switches slated for arma2server.exe?

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  

×