Jump to content
Sign in to follow this  
Lenovouser

P3D V5.4 High CPU Usage & Temps

Recommended Posts

Personally, I wouldn't go fiddling with CPU voltage.  Just let the BIOS control it on AUTO.

P3D is a CPU hog and always has been.  Like I said, mine goes to 90% load at times while flying, but it does drop down after a minute or so.  I think it uses a lot of CPU power to load the scenery, and once it's loaded the usage goes back down for a while.

P3D sets my cgf affinity mask to use all 16 cores by default.  Even with the stock AF and all 16 cores used, I still get the high CPU load at times.  I changed the AF to exclude only core 0.

Dave


Simulator: P3Dv5.4

System Specs: Intel i7 13700K CPU, MSI Mag Z790 Tomahawk Motherboard, 32GB DDR5 6000MHz RAM, Nvidia GeForce RTX 4070 Video Card, 3x 1TB Samsung 980 Pro M.2 2280 SSDs, Windows 11 Home OS

 

Share this post


Link to post
1 hour ago, dave2013 said:

I changed the AF to exclude only core 0.

That is extremely important. If you assign core 0 and core 1 to P3D you’re fighting with the OS.


Ray (Cheshire, England).
System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke.
Cheadle Hulme Weather

Share this post


Link to post
2 hours ago, Ray Proudfoot said:

That is extremely important. If you assign core 0 and core 1 to P3D you’re fighting with the OS.

Ah, so should I exclude core 1 also?

Thanks.

Dave


Simulator: P3Dv5.4

System Specs: Intel i7 13700K CPU, MSI Mag Z790 Tomahawk Motherboard, 32GB DDR5 6000MHz RAM, Nvidia GeForce RTX 4070 Video Card, 3x 1TB Samsung 980 Pro M.2 2280 SSDs, Windows 11 Home OS

 

Share this post


Link to post

Dave-

This is the stock AM.

 

[JobScheduler]
AffinityMask=65535
P3DCoreAffinityMask=65535
MainThreadScheduler=0
RenderThreadScheduler=2
FrameWorkerThreadScheduler=4

Try this and see what the result is.

I have a 12900k and after hours of ******* around with various combinations and exclusions it’s working very well. Win11 does an excellent job of threading on its own. You can always go back.

  • Like 1

Share this post


Link to post

I just did the update from 5.3HF2 to 5.4 this last weekend.  CPU utilization does indeed seem to have taken a markedly different path in this version.

I have been running P3D with VSync on to a 30Hz display for years, which has limited CPU utilization on the heaviest tasked core running the main thread to down around 70%.  With 5.4, that core is pegged at 100% pretty much all the time, and the other cores (including the 10 e-cores enabled for P3D via the affinity mask) are also being fairly heavily tasked, especially when airborne.  So the temps and voltages are indeed averaging higher than before, but it's not causing a problem--in fact, the opposite.  It raised my eyebrows when I first saw it, but the sim is running very smoothly like this without any of the stuttering I would have expected from keeping the main core loaded up like that.  I just flew the FSL Scarebus into FlyTampa's KBOS, which has always been a challenge performance-wise, and it was very smooth despite the main thread's core being firewalled at 100% the whole way in.

I suspect that if your cooling isn't up to having most of your CPU's cores getting a real workout a lot of the time, it might cause CPU temp issues where 5.3 did not due to its much less aggressive usage of multithreading.

On my water-cooled 13900K, with 20 cores active and 18 allocated to P3D (AM=262143), I'm seeing temps venturing into the mid 70s C on the core running the main thread, which is about 8-10 deg C higher than I saw with 5.3.  Some of the other cores are occasionally bumping into the high 60s and low 70s.  The cores specifically allocated to the render thread and frameworker thread are not being tasked noticeably higher than the others like they used to...most of the cores are getting hit concurrently now, and fairly often.  It's anyone's guess as to whether the thread scheduler masks are now being ignored, or if their workload has been redistributed in such a way as to make their load levels indistinguishable from their peers.

 

  • Upvote 1

Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4/XP12): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XP11): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
3 hours ago, newtie said:

Try this and see what the result is.

I went back to the stock AF setting and didn't really see any difference in performance.  I still get the periodic high CPU loads, but it doesn't cause any stuttering or performance drop when it happens.  Now core 0 runs at 90+% instead of core 1.

I read some posts in this forum which recommended setting the AF so that P3D does not use core 0, but it doesn't seem to make any difference.

Thanks.

Dave


Simulator: P3Dv5.4

System Specs: Intel i7 13700K CPU, MSI Mag Z790 Tomahawk Motherboard, 32GB DDR5 6000MHz RAM, Nvidia GeForce RTX 4070 Video Card, 3x 1TB Samsung 980 Pro M.2 2280 SSDs, Windows 11 Home OS

 

Share this post


Link to post

@Bob Scott,

Are you locking externally?

Edited by Ray Proudfoot
Long quoted post removed.

Share this post


Link to post
8 hours ago, dave2013 said:

Ah, so should I exclude core 1 also?

Thanks.

Dave

I’m still on v5.3HF2 and given Bob’s experience with 5.4 I would be hesitant to make a recommendation.


Ray (Cheshire, England).
System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke.
Cheadle Hulme Weather

Share this post


Link to post

[JobScheduler]
AffinityMask=4095
P3DCoreAffinityMask=4095
MainThreadScheduler=0
RenderThreadScheduler=2
FrameWorkerThreadScheduler=4

Is this ok for i5 12400?


12400F - 32GB DDR4 - RTX4070 - 1440p G-Sync UltraWide - Sennheiser GSX 1000 - O11 Air Mini - 1TB NVMe + 2TB SSD - Windows 11 Pro - Prepar3D 5.4

Share this post


Link to post
2 hours ago, Juliet Alpha said:

[JobScheduler]
AffinityMask=4095
P3DCoreAffinityMask=4095
MainThreadScheduler=0
RenderThreadScheduler=2
FrameWorkerThreadScheduler=4

Is this ok for i5 12400?

That would be for an HT enabled 6 core CPU and this unfortunately allows scenery (and other objects) loading to share the MainThreadScheduler core 00 which brings excess heat and restricts the fps.

Instead I would use:

HT Enabled 6 core
05,04,03,02,01,00=core number
11,11,11,01,01,01=AffinityMask = 4053
11,11,11,01,01,01=P3DCoreAffinityMask = 4053
00,00,00,00,00,01=MainThreadScheduler = 0
00,00,00,00,01,00=RenderThreadScheduler = 1
00,00,00,01,00,00=FrameWorkerThreadScheduler = 2

This keeps scenery loading away from sharing the main thread cores 00, 01 and 02

So in Prepar3D.cfg:

[JobScheduler]
AffinityMask=4053
P3DCoreAffinityMask=4053
MainThreadScheduler=0
RenderThreadScheduler=1
FrameWorkerThreadScheduler=2


 

However, scenery loading can be increased by enabling the sister Logical Processors on cores 01 hosting RenderThreadScheduler and 02 hosting FrameWorkerThreadScheduler (which are not so active as the core 00 MainThreadScheduler) but these can be impacted from scenery loading depending on the system, so should be tested. This won't provide more fps but will reduce the time the CPU gathers objects and scenery as you fly. Giving:

HT Enabled 6 core
05,04,03,02,01,00=core number
11,11,11,11,11,01=AffinityMask = 4093
11,11,11,11,11,01=P3DCoreAffinityMask = 4093
00,00,00,00,00,01=MainThreadScheduler = 0
00,00,00,00,01,00=RenderThreadScheduler = 1
00,00,00,01,00,00=FrameWorkerThreadScheduler = 3

So in Prepar3D.cfg:

[JobScheduler]
AffinityMask=4093
P3DCoreAffinityMask=4093
MainThreadScheduler=0
RenderThreadScheduler=1
FrameWorkerThreadScheduler=3


 

The same theory to avoid core sharing with the main threads should be applied to any CPU using HT (or equivalent).

 

  • Like 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

An alternative to increasing scenery loading speed is to put both RenderThreadScheduler and FrameWorkerThreadScheduler on core 01. Again this depends on the system and weight of scenery and objects so should be tested:

HT Enabled 6 core
05,04,03,02,01,00=core number
11,11,11,11,11,01=AffinityMask = 4093
11,11,11,11,11,01=P3DCoreAffinityMask = 4093
00,00,00,00,00,01=MainThreadScheduler = 0
00,00,00,00,01,00=RenderThreadScheduler = 1
00,00,00,00,10,00=FrameWorkerThreadScheduler = 2

[JobScheduler]
AffinityMask=4093
P3DCoreAffinityMask=4093
MainThreadScheduler=0
RenderThreadScheduler=1
FrameWorkerThreadScheduler=2


 
  • Like 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
1 minute ago, SteveW said:

An alternative to increasing scenery loading speed is to put both RenderThreadScheduler and FrameWorkerThreadScheduler on core 01. Again this depends on the system and weight of scenery and objects so should be tested:

 


HT Enabled 6 core
05,04,03,02,01,00=core number
11,11,11,11,11,01=AffinityMask = 4093
11,11,11,11,11,01=P3DCoreAffinityMask = 4093
00,00,00,00,00,01=MainThreadScheduler = 0
00,00,00,00,01,00=RenderThreadScheduler = 1
00,00,00,00,10,00=FrameWorkerThreadScheduler = 2

 

 


[JobScheduler]
AffinityMask=4093
P3DCoreAffinityMask=4093
MainThreadScheduler=0
RenderThreadScheduler=1
FrameWorkerThreadScheduler=2

 


 

Hi Steve, Any recommendation for 13900k? I am struggling with 5.4 also, any suggestion would be highly appreciated!


Ramon De Valencia

Intel i9 13900k @ stock / Windows 11 64 bit / 64GB DDR5 5600MHz CL36 RAM / GTX 4090 24GB VRAM / 1000 watt PSU

Share this post


Link to post

With regard to the AMD 5800x3D with SMT enabled gives 16 Logical Processors from 8 cores we can use:

HT Enabled 8 core 16 LP
07,06,05,04,03,02,01,00=core number
11,11,11,11,11,01,01,01=AffinityMask = 65493
11,11,11,11,11,01,01,01=P3DCoreAffinityMask = 65493
00,00,00,00,00,00,00,01=MainThreadScheduler = 0
00,00,00,00,00,00,01,00=RenderThreadScheduler = 1
00,00,00,00,00,01,00,00=FrameWorkerThreadScheduler = 2

[JobScheduler]
AffinityMask=65493
P3DCoreAffinityMask=65493
MainThreadScheduler=0
RenderThreadScheduler=1
FrameWorkerThreadScheduler=2


 

With CPUs not using HT (or SMT) allow P3D to set the Affinity.

 

With regard to avoiding core 00 to allow for Windows processes this does not make a difference to P3D as Dave correctly suggests above.

 


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
5 minutes ago, ttbq1 said:

Hi Steve, Any recommendation for 13900k? I am struggling with 5.4 also, any suggestion would be highly appreciated!

This is a 24 core CPU with 8 P cores and 16 E cores. The 8 P cores with HT enabled give 16 Logical Processors for a total of 32 LPs. I'll do the math for that and come back in a moment...

 


Steve Waite: Engineer at codelegend.com

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