Mischung

Affinity Mask -> NEVER leave out Core 0!

Recommended Posts

This is no discussion about HT=On/Off! All given AM-settings apply to an 8 core processor without HT.
I just wanted to share my experience with others, because it took me a whole week to get P3D running correct on my system because of a simple "mistake". 

My system:
i7-9700K @ 4.9 GHz (8 cores no HT) - no HT available for this processor
RTX 2080
RAM 16GB DDR4 3200
M.2 SSD 970 Evo Win 10
M.2 SSD 970 Evo P3D

My P3D-setup:
P3D 4.4
Orbx Global
Orbx Vector
Orbx LC EU/NA/SA
ORBX AU
FS Global 2010

My plan was to use an AM for P3d of 254 (11111110) or 252 (11111100) leaving out core 0 and maybe core 1 too, because 6 cores should be fine for P3D.
Afterwards I assigned all other processes and addons to the remaining cores (0 or 0/1).
I also limited my frames to 30 (TFR=30) to avoid missing autogen (known from other threads).
Other settings were quite reasonable, because I didn't want to overload the sim from the start.

Problem: 
Textures and Autogen was fine after starting the sim, but almost no texture and autogen loading during the flight.
I hit the "Pause" key and all assigned cores stayed close to 100% and very slow (and I mean veeeerryyyy slow) texture loading could be observed.
The sim could not catch up with the textures with all cores close to 100% all the time for several minutes!
Tried a lot of different settings with no luck (even limiting to 10 FPS and all sliders left!).

Solution:
To make it short => Never leave out Core 0 in your AM (maybe different with HT).
First I removed the AM completely and texture loading was as fast as expected.
But I wanted to free some cores for other addons, so I removed the last cores in the P3D.cfg (core 7 AM=127 (01111111) or core 6/7 AM=63 (00111111)).
Texture loading was still fine and fast!!!

So my suggestion is: 
Always assign the first P3D thread to your core 0 (if you have HT=on then leave out core 1 AM = xxxxxx01).
If you want to free up some cores for other programs, then leave out the latter cores in your AM (from the left side in the AM)
Unfortunately I have no idea why this happens and maybe it is a also a bug, but it was very annoying and I lost a lot of time I could have used for flying.

Happy landings!

  • Upvote 1

Share this post


Link to post
Help AVSIM continue to serve you!
Please donate today!

I have used AM 253 recently with a good result, was using Lasso but have found with 4.4 no need for it. I cannot turn off HT as I use a gaming laptop.

I leave FPS at UL and set NVI to adaptive screen tear, max power, single display and HQ, I leave Vsync and TB off in the sim as well..

With FFTF dynamic set to 8K height and 0.001- 0.40 at 22-60FPS, I am getting FPS in sim between 24-40+ in cabin (pmdg 737) and anything up to 78 FPS externally, I also use Shut Up to kill any windows processes.

I have DL off and shadows also off, scenery max draw and tess max, use a couple of tweaks to the CFG per Rob's suggestions, mainly the 320000.000000 to the autogen request distance and the 64,000 Scenery and autogen draw distance, the other is the memory optimizer to 0. (cant remember the exact wordings as on my work PC).

Flu for 6 hours with 3 different legs, starting  Gatwick to Stockholm, stockholm to Copenhagen, Copenhagen to Bonn, Bonn to Bergamo. All scenery looked superb and didnt experience any blurriness or significant stutters

I used Toposims Europe mesh and the Alps were amazing, Orbx LC etc.. AS, Envtex, Enshade and chaseplane, PMDG 737 800 in Norway livery, connected to Acars and using FSmovemap connected to android tablet.

I have to say after years of frustration, my P3D is just brilliant.

It isnt possible to max out with my spec, but have accepted that and with what i saw yesterday couldnt be happier.

Share this post


Link to post

There is no AM needed at all for a CPU without hyperthreading or hyperthreading off. That's why the topic starter sees basically the best results with no AM at all. The mistake he does: he seems to have read somewhere that running addons on cores different from P3D, this provides any advantage, but he is totally misinterpreting this "fact": the deal about running addons on cores not used by P3D is almost 100% related to core0. Means: if your addons are away from core0, the rest is basically completely irrelevant... If he manages to run all addons on other cores than core0, he will be fine, no matter if in addition P3D is prevented to run on those cores or not...

Short version: if P3D and an addon is running both primarly on core0, it might lead to issues (not even in 100% of the case...). If you do move this addon off core0, you will be fine, NO MATTER if this core is also free or blocked (by AM setting) for P3D.

Please correct me if I am wrong. But at least on my side, I got perfectly fluid and smooth P3D as soon as I moved most of my addons off core0. No matter what AM I used in parallel... That's why I am now perfectly fine with AM=1365, simply limiting P3D to all physical cores (as such, I do not have to turn off HT).

  • Like 1
  • Upvote 1

Share this post


Link to post

First of all don’t use an affinity mask with no HT.  All u are doing is killing performance.  Honestly all this affinitymask, process lasso, and voodoo magic miracle fixes are more trouble then they are worth.  There is so much misleading information on the subject it just confuses people.  

  • Like 3

Share this post


Link to post
37 minutes ago, mpw8679 said:

First of all don’t use an affinity mask with no HT.  All u are doing is killing performance.  Honestly all this affinitymask, process lasso, and voodoo magic miracle fixes are more trouble then they are worth.  There is so much misleading information on the subject it just confuses people.  

What is misleading is suggesting everyone should sit on their hands and let default configurations dictate things. My system's best performance is enabled by using an AM and shutting HT off.  

No confusion, no magic...just simple facts. 

Thanks,

Greg

    

 

  • Upvote 3

Share this post


Link to post
12 minutes ago, Chocorua said:

What is misleading is suggesting everyone should sit on their hands and let default configurations dictate things. My system's best performance is enabled by using an AM and shutting HT off.  

No confusion, no magic...just simple facts. 

Thanks,

Greg

    

 

Since u state this as fact I’d love to see some factual evidence to support your claim.

Share this post


Link to post
1 hour ago, mpw8679 said:

First of all don’t use an affinity mask with no HT.

An Affinity Mask has nothing to do with Hyperthreading.  An AM is simply a tool to keep different processes from running on shared cores/Logical Processors.  It is up to the end user to determine if an AM is needed or offers an advantage.  And since each of our systems and sim configs are different, it's only obvious that what works for one will not necessarily work for others.

As an example, I'm currently testing a no-HT system config that uses an AM to keep all of my sim addons on the last core while the sim runs on the first five.  Sim is smooth (as it was running no AM), but the real advantage (for me and my system) is that my GTN's are smoother and more responsive running on a core separate from the sim.

Of course, YMMV,

Greg

Share this post


Link to post
6 minutes ago, lownslo said:

that uses an AM to keep all of my sim addons on the last core while the sim runs on the first five

So this means you are starting each addon with its own AM to prevent it from using core 0/1 (via the cmd command and /affinity option)

 

Share this post


Link to post

I agree with core 0 must be set active in P3Dv4. Which is always the case if you don't use AM. On the other hand I use AM for some applications which are running together with P3D (8 cores HT off): Active Sky (11000000), REX SF3D (11000000) and ProATC ((00110000). FT GTN 650/50 is also set to use  the last two cores.

Share this post


Link to post
32 minutes ago, willy647 said:

So this means you are starting each addon with its own AM to prevent it from using core 0/1 (via the cmd command and /affinity option)

Yes and yes. 😀  I especially want to keep the addons away from 0 and 1, but also cores 2,3,4 (in this AM, the terrain loaders).  And I do use the cmd line to set most of my affinities and priorities (when needed).  For the GTN's I use the F1GTNConfig app to set affinity.

HTH,

Greg

Share this post


Link to post
52 minutes ago, lownslo said:

An Affinity Mask has nothing to do with Hyperthreading.  An AM is simply a tool to keep different processes from running on shared cores/Logical Processors.  It is up to the end user to determine if an AM is needed or offers an advantage.  And since each of our systems and sim configs are different, it's only obvious that what works for one will not necessarily work for others.

As an example, I'm currently testing a no-HT system config that uses an AM to keep all of my sim addons on the last core while the sim runs on the first five.  Sim is smooth (as it was running no AM), but the real advantage (for me and my system) is that my GTN's are smoother and more responsive running on a core separate from the sim.

Of course, YMMV,

Greg

I should clarify.  I totally agree with moving addons to different cores.  I do this with SimStarter.  But I totally disagree setting an Affinity Mask within P3D with a non HT CPU.  All u are doing is limiting processing power available for P3D to take advantage of.  But I guess if u have the headroom to spare and works for u more power to ya.

Share this post


Link to post

Here : no HT

With : AM - 8 cores for P3Dv4

CPU : 7940X ( 14 cores )

 

Share this post


Link to post
3 hours ago, mpw8679 said:

Since u state this as fact I’d love to see some factual evidence to support your claim.

I have no 'factual evidence'  to hand over. It's still true though...

The key here, your statement about what folks should or should not do ("Don't use an Affinity Mask with no HT, all you're doing is killing performance") is not a universal truth. It may be yours, it may be for some, but not everyone. 

Thanks,

            

Share this post


Link to post
25 minutes ago, Chocorua said:

I have no 'factual evidence'  to hand over. It's still true though...

The key here, your statement about what folks should or should not do ("Don't use an Affinity Mask with no HT, all you're doing is killing performance") is not a universal truth. It may be yours, it may be for some, but not everyone. 

Thanks,

            

Killing performance was a bad choice of words.  Anytime u mask a core within P3D your restricting performance potential.  All u are doing is shutting down a core or cores that could be put to use rendering scenery.  W10 does a very good job at allocating resources.  I can see masking addons with a program like SimStarter or using a batch file to free up resources on core 0.  Most claims made are from placebo effect or inconsistent testing.

Share this post


Link to post
4 hours ago, lownslo said:

An Affinity Mask has nothing to do with Hyperthreading.  An AM is simply a tool to keep different processes from running on shared cores/Logical Processors.  It is up to the end user to determine if an AM is needed or offers an advantage.  And since each of our systems and sim configs are different, it's only obvious that what works for one will not necessarily work for others.

As an example, I'm currently testing a no-HT system config that uses an AM to keep all of my sim addons on the last core while the sim runs on the first five.  Sim is smooth (as it was running no AM), but the real advantage (for me and my system) is that my GTN's are smoother and more responsive running on a core separate from the sim.

Of course, YMMV,

Greg

When did I say an affinity mask has anything to do with HT??  It doesn’t make sense to use a AM if u don’t use HT.  And no need to school me on what a affinity mask is.  In your case u should not use a affinity mask within p3d and let your addons share cores with the rendering cores.  W10 will do the rest.  So basically leave all cores available to P3d.  Mask addons from using core 0.

Share this post


Link to post

I think there are system-configurations where using an AM makes sense and can be useful. One has to find out what works best.
It's all about available core, HT or not, other processes (Addons and windows processes), etc.

It makes absolutely sense to assign 8 cores of 14 to P3D like Gerard - it will not improve performance to assign all cores to P3D in that case. 
Would guess 8 cores should be a good number of cores for P3D but 4 cores are the minimum.

Had a 4790K before with HT=On and also used an AM (85=01010101) with very good results (assigning almost all other processes to cores 3,5,7).

Also I'm totally aware of that I do not have to totally separate addons and other processes from the P3D cores, but I thougth it would be a nice try to avoid any interference.

I will delete my AM for P3D and assign the least used cores to all my addons and also all other processes in the background using Process Lasso.
The Windows scheduler can do the rest of the work then 😉

The Maxim is to get everything away from core 0, which is the main rendering task. Simple as that :smile:

But just to highlight the main problem in my case:
Do not disable the first core of your processor in your P3D-AM!
I was not aware that I can use AM=01111111 without problems, but an AM=11111110 will lead to very slow texture loading.

Share this post


Link to post
10 minutes ago, Mischung said:

It makes absolutely sense to assign 8 cores of 14 to P3D like Gerard - it will not improve performance to assign all cores to P3D in that case. 
Would guess 8 cores should be a good number of cores for P3D but 4 cores are the minimum.

That is simply not true.  In extremely complex scenery u will see scenery loading improvement with more then 8 cores.  8 core is the sweet spot IMO.  U can easily overload the rendering cores with 6 or less cores.

Share this post


Link to post

I use the manual AM method which goes by unselecting core 0 in task manager when P3D is open, closing the Set Affinity tab and then reopening and reselecting core 0. That method has always worked well for me on V4 and I do notice a big difference between with and without.

Share this post


Link to post

Ok Matt, we can agree on 8 cores being the sweet spot 😄

But I think there is a max number of cores which is a kind of an optimum to work with.
The first rendering thread has to synchronize all of them and at a given point there is too much overhead and the sim will not benefit anymore.

Maybe that's 12 or 14 cores, I don't really know, but it would be interesting. Don't have the HW to test this out (unfortunately) 😉

Share this post


Link to post
7 minutes ago, shamrockflyer said:

I use the manual AM method which goes by unselecting core 0 in task manager when P3D is open, closing the Set Affinity tab and then reopening and reselecting core 0. That method has always worked well for me on V4 and I do notice a big difference between with and without.

That's some kind of Voodoo to me and I can not understand that this is working good 😆

I once used Process Lasso to assign cores to P3D and it ended in stutters without end, because the primary rendering task had no 100% load anymore (with frame rate limited). Workload seemed to spread across all cores better, but it was not fluid anymore.

Setting the exact same AM in my P3D.cfg that I used with Process Lasso before resulted in a very fluid sim with core 0 at 100% load all the time (that's the way it is with a TFR) 

Share this post


Link to post
31 minutes ago, Mischung said:

That's some kind of Voodoo to me and I can not understand that this is working good 😆

I once used Process Lasso to assign cores to P3D and it ended in stutters without end, because the primary rendering task had no 100% load anymore (with frame rate limited). Workload seemed to spread across all cores better, but it was not fluid anymore.

Setting the exact same AM in my P3D.cfg that I used with Process Lasso before resulted in a very fluid sim with core 0 at 100% load all the time (that's the way it is with a TFR) 

I tried PL one time. It was a stuttering nightmare.  Not saying it was not self induced but never again

Share this post


Link to post
46 minutes ago, Mischung said:

Ok Matt, we can agree on 8 cores being the sweet spot 😄

But I think there is a max number of cores which is a kind of an optimum to work with.
The first rendering thread has to synchronize all of them and at a given point there is too much overhead and the sim will not benefit anymore.

Maybe that's 12 or 14 cores, I don't really know, but it would be interesting. Don't have the HW to test this out (unfortunately) 😉

P3D will use all u can give it but yes at some point u would see no improvement.  Right now cruising in ORBX land in the A2A 172 cores 0-1 are running about 50% and the remaining 6 cores are averaging bout 90-95%.  

Edited by mpw8679

Share this post


Link to post
2 hours ago, mpw8679 said:

In your case u should not use a affinity mask within p3d and let your addons share cores with the rendering cores.

Too funny!  Good luck with that...

  • Like 1

Share this post


Link to post
12 minutes ago, lownslo said:

Too funny!  Good luck with that...

Umm ok.  What would u do then? Put them on 0-1????

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