Jump to content
Sign in to follow this  
angeli662

AffinityMask - Why?

Recommended Posts

10 hours ago, Jazz+Funk said:

Hi All,

You may find my Affinity Mask Calculator helpful. I have made some notes on my own findings with P3D v4, which I have documented on the page.

http://www.gatwick-fsg.org.uk/affinitymask.aspx?SubMenuItem=hardware

Regards,

 

Ted.

Yes Ted, so I looked through the stuff written there - not too useful unfortunately:

 

"The following example uses an affinity mask value of 4095 applied to a Hexacore CPU with Hyper-threading enabled running P3D v3.1. Note how logical core #0 thread #0 is at 100% dedicated to P3D rendering tasks. The other logical cores and threads load balance the other P3D processing requests."

 

In the example on the page linked, 4095 is 11,11,11,11,11,11 which utilises all LPs. And the graphs on the page show sim task on LP0 SHARES core zero with sim task on LP1.

Remember that the clever programming of P3D splits out work from the first task so it can run on another core? Well that's running it on the same core and loses out by unnecessary sharing of the first core for the rendering. A common mistake many are making unfortunately.

P3D is not a multi-threaded app like the video encoder which we could process two hundred frames on one hundred cores and in HT mode it would finish sooner on 200LPs. P3D does not work anything like that, the issue I see most is that the way CPUs work and the way P3D works are not completely understood.

 

 


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
11 hours ago, Piotr007 said:

I am getting 100% load on ALL cores and threads with my i7 6700K @ 4,5 ghz. This is when the AM for all cores is set. So I guess when i9 10-core processors come out. I will buy such one for P3D V4. @4,0 ghz it should run quite nicely.

Doesn't look as good as I thought.

 


Asus Rampage VI Extreme Encore(water Cooled) EVGA RTX 3090 FTW3 Hybrid, 64 DD4 @ 2800 2 x 2x M.2 in raid 0.

 

Share this post


Link to post

I've been comparing AMs P3D v4 on four cores +HT:

11,11,11,01=253 main task runs well but the background loading on LP3 intercepts second task on LP2 core 1 reducing overall performance, rendering performance is staggered, and adds no increase in loading performance.

11,11,01,01=245 main task performs well and the background tasks perform well without intercepting the second task on LP2, rendering performance is not staggered.

01,01,01,01=85 main task performs well and the background tasks perform well without intercepting the second task on LP2, rendering performance is not staggered. Background tasks can sometimes take a small amount longer to load certain objects but rendering is very slightly improved.

Avoid 255 and 253, use 245 or 85. Keep addons on last two cores 10,10,00,00.

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
16 minutes ago, SteveW said:

I've been comparing AMs P3D v4 on four cores +HT:

11,11,11,01=253 main task runs well but the background loading on LP3 intercepts second task on LP2 core 1 reducing overall performance, rendering performance is staggered, and adds no increase in loading performance.

11,11,01,01=245 main task performs well and the background tasks perform well without intercepting the second task on LP2, rendering performance is not staggered.

01,01,01,01=85 main task performs well and the background tasks perform well without intercepting the second task on LP2, rendering performance is not staggered. Background tasks can sometimes take a small amount longer to load certain objects but rendering is very slightly improved.

Avoid 255 and 253, use 245 or 85. Keep addons on last two cores 10,10,00,00.

Hi Steve-

Is there a simple way to set AM for additional apps (AS16) without having to resort tp Process Lasso. I know this can be done thru task manager. Seems to be a lot of overhead running PL. Interestingly, on V4 with me, unlimited/HT off/ Vsyc on/no triple buffer seems to work pretty well, but I only run photo scenery with no AG. Like to try AM=85 with AS on the last two LCs just to see.

 

Thanks,

Mark

Share this post


Link to post

I have no a idea about 5960X, but what you are trying to achieve? Do you have low FPS, stutters? If not, you don't need it. Texture loading is much better with all cores. 

In FSX i used AM=14 with no HT enabled, no blurry textures and there was a FPS boost. It doesn't works this way in P3D for me. For my 2700K, no affinity mask(default all cores)works the best for P3D. If i exclude one core, i get blurry ground textures - not noticed with default textures, but after i added ORBX OpenLC. So, it realy depends on your system, it may work different with 6700 - 7700K.

Share this post


Link to post
9 minutes ago, lodestar said:

I have no a idea about 5960X, but what you are trying to achieve? Do you have low FPS, stutters? If not, you don't need it. Texture loading is much better with all cores. 

In FSX i used AM=14 with no HT enabled, no blurry textures and there was a FPS boost. It doesn't works this way in P3D for me. For my 2700K, no affinity mask(default all cores)works the best for P3D. If i exclude one core, i get blurry ground textures - not noticed with default textures, but after i added ORBX OpenLC. So, it realy depends on your system, it may work different with 6700 - 7700K.

Nothing, I was just curious to why the core 01 (2nd) sits @ about 40% and the other 7  100%   whether AM=0/255, perhaps Windows 10 is using that core who knows.

don't have blurry texture in P3Dv4 quite the contrary I have LOD set 9.5 and grounds texture are very sharp.


Asus Rampage VI Extreme Encore(water Cooled) EVGA RTX 3090 FTW3 Hybrid, 64 DD4 @ 2800 2 x 2x M.2 in raid 0.

 

Share this post


Link to post
15 minutes ago, angeli662 said:

Nothing, I was just curious to why the core 01 (2nd) sits @ about 40% and the other 7  100%   whether AM=0/255, perhaps Windows 10 is using that core who knows.

don't have blurry texture in P3Dv4 quite the contrary I have LOD set 9.5 and grounds texture are very sharp.

the more cores - the better texture loading :happy: 

First core is doing something different then other cores. That's ok, it is how P3D works. 

P.S. There could be a reason LM, Dovetail and others want to use all cores. I can see better scenery loading if i enable HT, but i don't know how to prove it

Share this post


Link to post
6 minutes ago, lodestar said:

the more cores - the better texture loading :happy: 

First core is doing something different then other cores. That's ok, it is how P3D works. 

Core 01 is the second core, 00, 02, 03, 04, 05, 06, 07  are @ full :mellow:, this CPU soon wold be history just like my Titans will in a couple of days :biggrin:


Asus Rampage VI Extreme Encore(water Cooled) EVGA RTX 3090 FTW3 Hybrid, 64 DD4 @ 2800 2 x 2x M.2 in raid 0.

 

Share this post


Link to post
55 minutes ago, newtie said:

Hi Steve-

Is there a simple way to set AM for additional apps (AS16) without having to resort tp Process Lasso. I know this can be done thru task manager. Seems to be a lot of overhead running PL. Interestingly, on V4 with me, unlimited/HT off/ Vsyc on/no triple buffer seems to work pretty well, but I only run photo scenery with no AG. Like to try AM=85 with AS on the last two LCs just to see.

 

Thanks,

Mark

With a .bat file use something like:

start /B "" /affinity A0 "C:\Program Files (x86)\FSWeather\FSWeather.exe"

Where A0=10,10,00,00 - the app will start only on those two cores and be restricted to only those. When using programs like proc lasso if the app is started first it will start on 11,11,11,11 and then be corralled into 10,10,00,00 and is not the intended result. The .bat method ensures the app starts only on those LPs we want, make sure any affinity changing apps do the same.

 

By the way, with faster CPUs the background tasks get completed quicker and so adding more cores to P3D returns no better result, but can add extra heat to the CPU. And so six core users can turn on HT and use AM=340 or AM=980 which is the same 85 and 245 patterns used on the four core moved up one core (2LPs).

 

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
1 hour ago, SteveW said:

I've been comparing AMs P3D v4 on four cores +HT:

11,11,11,01=253 main task runs well but the background loading on LP3 intercepts second task on LP2 core 1 reducing overall performance, rendering performance is staggered, and adds no increase in loading performance.

11,11,01,01=245 main task performs well and the background tasks perform well without intercepting the second task on LP2, rendering performance is not staggered.

01,01,01,01=85 main task performs well and the background tasks perform well without intercepting the second task on LP2, rendering performance is not staggered. Background tasks can sometimes take a small amount longer to load certain objects but rendering is very slightly improved.

Avoid 255 and 253, use 245 or 85. Keep addons on last two cores 10,10,00,00.

I have found that 245 works best for me and my 7700k


Floyd Stolle

www.stollco.com

Share this post


Link to post
Just now, angeli662 said:

Core 01 is the second core, 00, 02, 03, 04, 05, 06, 07  are @ full :mellow:, just like my Titans will in a couple of days :biggrin:

Yes, you are right, same on mine system, only second core is not at 100%. It should be like this: 

CORE0 = Running Fibers (terrain system)

CORE1 = Main Scheduler

CORE2 = Texture Manager

CORE3 = Texture Manager

And so on, it doesn't matter how many corres, all other will be Texture Manager

Share this post


Link to post
52 minutes ago, SteveW said:

With a .bat file use something like:

start /B "" /affinity A0 "C:\Program Files (x86)\FSWeather\FSWeather.exe"

Where A0=10,10,00,00 - the app will start only on those two cores and be restricted to only those. When using programs like proc lasso if the app is started first it will start on 11,11,11,11 and then be corralled into 10,10,00,00 and is not the intended result. The .bat method ensures the app starts only on those LPs we want, make sure any affinity changing apps do the same.

 

By the way, with faster CPUs the background tasks get completed quicker and so adding more cores to P3D returns no better result, but can add extra heat to the CPU. And so six core users can turn on HT and use AM=340 or AM=980 which is the same 85 and 245 patterns used on the four core moved up one core (2LPs).

 

start /B "" /affinity A0 "C:\Program Files (x86)\FSWeather\FSWeather.exe"

OK, I'm assuming 'start /B' is start the batch file and is not dependent on anything else, that is, using a Z instead of a B. Is there a space between the B and ""?

What's the relationship between A0 and the AM? What would 85 look like and why?

The rest makes sense.

 

Thanks,

Mark

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...