Jump to content
Sign in to follow this  
bloxboy

9900k core usage in P3D

Recommended Posts

Hi, Is it possible to even out the core utilization when P3D is running ?. Looking at a HW monitor (see screen shot), core 0 is at 100% while all the other cores are hardly doing anything. Is it a setting in the bios you have to change, or is this normal to P3D. If I run X-Plane, core usage is more or less even across all cores, again is it a P3D thing, I just want to make sure I am using my new I9-9900k to get the best out of P3D. Appreciate  any help/suggestions. Thanks for looking.

https://imgur.com/a/kneUmZe

John.

 

Share this post


Link to post
Share on other sites

People talk about setting affinity masks in the P3D.cfg, or using processor lasso to tie it to a particular processor, or disabling hyperthreading - you can search the forums for opinions on all of those and suggested settings for them and see if they make any difference.

My own view is that P3D is evolved enough to work out what cores it needs/wants but ultimately most games do not tend to run across all cores for that reason I advocate i5 9600k processor as the additional cores of i7 and i9 are of limited use outside of video editing and heavy multitasking.

Edited by ckyliu

ckyliu, proud supporter of ViaIntercity.com. i5 12400F, 32GB, GTX980, more in "About me" on my profile. 

support1.jpg

Share this post


Link to post
Share on other sites
10 hours ago, bloxboy said:

Hi, Is it possible to even out the core utilization when P3D is running ?. Looking at a HW monitor (see screen shot), core 0 is at 100% while all the other cores are hardly doing anything. Is it a setting in the bios you have to change, or is this normal to P3D. If I run X-Plane, core usage is more or less even across all cores, again is it a P3D thing, I just want to make sure I am using my new I9-9900k to get the best out of P3D. Appreciate  any help/suggestions. Thanks for looking.

https://imgur.com/a/kneUmZe

John.

 

Wow, we are seeing a rash of people with 100% Core0 usage lately!

Your Core0 should not be at 100% there, unless you have your settings too high, or you run with vsync=off.

I'd suggest running with vsync=on, then fly around -- you will see your other cores quite active, and your Core0 should not be pegged at 100%.  If it is -- you need to revisit sliders, because you do not want to fly around at 100% Core0 usage -- this will result in stutters / long frames.

One thing you may not know about P3D, is that the terrain rendering is now multithreaded.  However, as in your screen shot, I think you are stationary -- therefore not much is being rendered at low speed or stationary -- therefore all cores except Core0 will be operating at a low level.  A better/truer representation of P3D's core usage is while flying, especially at lower level, where the terrain is being rapidly rendered.


Rhett

7800X3D ♣ 32 GB G.Skill TridentZ  Gigabyte 4090  Crucial P5 Plus 2TB 

Share this post


Link to post
Share on other sites

Hi Mace, thanks for the reply and suggestions. My MB (Asus Strix) & chip settings are all default, except for XMP on the memory. I am running with vsync on, and sliders are all middle of the road. I have no problem with performance (50-60 fps at most airports), I was just concerned why there is just one core taking most of the load when I have 8. I will do some testing with fast moving scenery as you suggested and report back.

John.

Share this post


Link to post
Share on other sites
11 hours ago, bloxboy said:

Hi, It seems P3D does use all cores when pushed as in the screen shot below, so that's good to know. The only other question is, "Hyperthreading", on or off in P3D. Any thoughts.

There are many good threads on that here.

I can summarize them to some extent -- bottom line is you can try Hyperthreading on or off, and see which delivers the smoothest performance with no blurries with your configuration.

With your 8-core cpu -- many people report best results with HT=off, but again, you test for yourself.  In this case "best" means smooth, with no blurries -- that is the goal and Holy Grail for us flight sim people.

Another thing to consider is taking advantage of P3D's ability to save slider configurations.  In other words, if you fly in a dense urban area like Los Angeles, it is going to push your system harder than if you are flying in rural Kansas (more scenery objects, AI, etc. in the LA basin).   So for that reason you may have to knock down the autogen sliders a little, just to maintain smooth flight in LA.  You can save that config as something like "City" in P3D Settings...Graphics.  Then save another config called "Rural", which will have higher autogen sliders, for example.

 

  • Like 1

Rhett

7800X3D ♣ 32 GB G.Skill TridentZ  Gigabyte 4090  Crucial P5 Plus 2TB 

Share this post


Link to post
Share on other sites

For your CPU, HT off makes sense.

One other thing to try, which some users have found to be helpful (including me) is to open Task Manager with P3D running, and select Processes / prepar3d / Set Affinity and reselect "all cores".  Somehow, something is reset when you do this.. try it, as a test.


Bert

Share this post


Link to post
Share on other sites

I don't run P3D, but from experience with FSX (and as a professional programmer working with sims in aerospace), it's not advised to directly use the task manager to set core affinity.  Here's why:

The developers can and do assign thread execution to specific cores to best alleviate thread contention throughout the program's execution.  When the task manager is used to override this behavior, that fine tuning the developers put in deliberately is tossed out.  Changing core affinity in the task manager may make that core utilization plot look more appealing, but in the end it most likely harms performance more than it does to enhance it.  BTW, using config file settings for core affinity does not have the same effect as using the TM to seemingly do the same.

  • Upvote 1

Rod O.

i7 10700k @5.0 HT on|Asus Maximus XII Hero|G.Skill 2x16GB DDR4 4000 cas 16|evga RTX 3080 Ti FTW3 Ultra|Noctua NH-D15S|Thermaltake GF1 850W PSU|WD Black SN750 M.2 1TB SSD (x2)|Plextor M9Pe .5TB NVMe PCIe x4 SSD (MSFS dedicated)IFractal Design Focus G Case

Win 10 Pro 64|HP Reverb G2 revised VR HMD|Asus 25" IPS 2K 60Hz monitor|Saitek X52 Pro & Peddles|TIR 5 (now retired)

Share this post


Link to post
Share on other sites
1 hour ago, TheFamilyMan said:

I don't run P3D, but from experience with FSX (and as a professional programmer working with sims in aerospace), it's not advised to directly use the task manager to set core affinity.  Here's why:

The developers can and do assign thread execution to specific cores to best alleviate thread contention throughout the program's execution.  When the task manager is used to override this behavior, that fine tuning the developers put in deliberately is tossed out.  Changing core affinity in the task manager may make that core utilization plot look more appealing, but in the end it most likely harms performance more than it does to enhance it.  BTW, using config file settings for core affinity does not have the same effect as using the TM to seemingly do the same.

Vary sorry but that's not the case - here's why and its very obvious indeed!

On a 4 core cpu the affinity 0 is AM=15

On a 6 core cpu the affinity 0 is AM=63

On a 8 core cpu the affinity 0 is AM=255

AM=63 on an 8 core give 6 cores.

The sim (and other software like that) ONLY SEES 6 cores with AM=63 on an 8 core cpu and works the same as a six core system but with the system having the addition of two more cores to share about.

Assumption to avoid using a mask for the reasons of the OS and the sim work without are incorrect

These sims provide the AM setting for that reason, so the cores allocated can be managed.

 

Since the software and the operating system cannot determine the best partition.

 

Allowing P3D and FSX to make task on every core is a mistake - after a number of cores. HT is a far more complicated situation, switch on HT without an AM for P3D and FSX is incorrect.

 

Put simply even the humble PC has limits and the resource of the CPU and motherboard is one such limit.

 

 

 

 


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

I deliver a product that measures performance of P3D and FSX and it can be seen from a lot of mail received that there's a sweet-spot on a system especially with more than 8 cores. After allowing too many cores the sim actually begins to perform worse than with less cores.

Think of it this way; set one core onto a task and it consumes resources, set two cores to a task each and they consume resources together, maybe double the draw on those resources. Keep on adding cores - at some stage the last straw breaks the camels back as the saying goes.

  • Like 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

Here's another point that seem unconsidered:

 

One main task renders the view - right? Other tasks coupled to it provide the data - yes?

That data can't exceed the rate that the sim can be rendered - no? Can we give it more regardless? No.

 

Then is it a good idea to ensure that this one critical task of rendering is unhampered by unnecessary activity on that system?

 

Do not use more cores than necessary to run the sim or performance degrades. That is why there is the AM setting provided.

 

 


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

So we have the renderer that: Capacity is slowed down by; throughput available on that core, throughput available on that motherboard, the number of things to draw, the complexity of those things, the AA on those things, the transparency AA (not to be confused with see-through like beer glass) the number of pixels on display.

A combination of GPU power and CPU is brought together for the time critical task.

The type of scenery to load can be a bush, and that bush can be replicated across a hill. Or the hills that must be loaded as we go since they don't replicate. The density of the mesh, the complexity of buildings that pass by that are different designs continue the pull on the resource.

That's taken up by the other tasks of P3D (and FSX) which can take seconds to complete.

A balance is required on a per-system basis, as all depends on the style of sim the user desires, less shadows more autogen, whatever.

Adding in complex aircraft with FMS and gauges usually puts a wedge into the time critical rendering task.

We need to reduce the load on the main core running the main task or increase its speed. With HT enabled we give that core an '01' to reserve the entire core to the one task or P3D (and FSX) will put their second major task on that sister logical processor.

 

A lot of homework to be done?

No.

Time the scenario loading with a stopwatch and add cores until you see only a small increase in loading speed. That's the point whereby the motherboard is saturated.

Ensure nothing else runs on the main core or increase its speed. Use AMs and .BATs to 'corral' your other exe apps onto those lesser important cores.

You can see 20% improvements by doing that tuning right and perhaps use more autogen or run cooler, whatever is the choice ultimately.

 

 

Edited by SteveW

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

Well having read that wall of text 😁, I have concluded that it's simply a pain having an i7 with a load of cores. I'll stick with i5. I got P3Dv4 to bring an end to ceaseless tweaking and I'm not about to start again with stop watch tests, frame rate monitoring et al, especially with loading times being so long.

Edited by ckyliu

ckyliu, proud supporter of ViaIntercity.com. i5 12400F, 32GB, GTX980, more in "About me" on my profile. 

support1.jpg

Share this post


Link to post
Share on other sites

A lot of homework has been done for you. The proper way to go about things has been understood since FSX came out. However FSX and P3D are not the same (under the hood), and they both do different things with respect to affinity. So a programmer working on these sims and others would know these things since they are a commercial asset.

With P3D which is D3D11 we can see what it does without the aid of software tools written in-house. Turn on HT and remove the AM from the jobscheduler section Prepar3d.CFG. This provides AM=0=number of LPS e.g. 4 core+HT = 11,11,11,11=255 (there's always an AM!).

In P3D turn down everything until it's bald landscape. In Task manager look at the graphs. You can see one LP of the main core (top left) does more work. Now increase settings and eventually we see the sister core also becomes utilised. That's actually taking throughput from core zero. We allocate '01' to that core and all that work is moved onto the next real core.

 

 

 

 


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites
2 minutes ago, ckyliu said:

Well having read that wall of text 😁, I have concluded that it's simply a pain having an i7 with a load of cores. I'll stick with i5. I got P3Dv4 to bring an end to ceaseless tweaking and I'm not about to start again with stop watch tests, frame rate monitoring et al, especially with loading times being so long.

Wall of text if you like :biggrin: - however it's a lot less than already typed out in the thread. And spells out how easy it is to deal with when it appears to be made out to be some kind of wizardry. It's not much to it really.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

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...