Jump to content
Sign in to follow this  
MammyJammy

New P3D 5.3+ Affinity Mask Calculator

Recommended Posts

53 minutes ago, Ray Proudfoot said:

Any clues as to how that can be automated? Currently it inherits the same AM as P3D using all cores / VPs.

Process Lasso. 😎


AMD Ryzen 5900X - Asus Crosshair VI Hero - G.Skill 32GB (2x16GB) 3000 C14 DDR4 @ 3600 14-14-15-14-28-42

AMD Red Devil Radeon 6900XT  2700/2112 1125mv - 3 x Iiyama G-Master GB2888UHSU 4k @ 11560x2160

Saitek X-55 Rhino - Track IR5 - Obutto Sim Cockpit + Triple Monitor Stand - Fancy some Techno? https://www.mixcloud.com/dj_bully/

Share this post


Link to post
14 minutes ago, djbully said:

Process Lasso. 😎

Insufficient information to make an informed decision.


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
1 hour ago, Ray Proudfoot said:

I can assure you you do. Look in Prepar3D.cfg at the [JobScheduler] section. Those entries confirm an AM has been set by P3D on launch.

You are correct Ray it is in my cfg

Share this post


Link to post

This looks a lot better after following the advice of @SteveW and @joepoway. Thanks chaps! 👍

Add-on executables and those started via SimStarterNG using cores 10 and 11.

 

Ray_AM.jpg

  • Upvote 1

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

I’d appreciate any assistance in setting these parameters if the system is thermally restricted and I can’t enable/disable HT - basically an iMac running Windows via Bootcamp.

If I run AM at 65493 (and P3DCoreAffinityMask at the same), performance is good but the CPU throttles back and the only way to control that is either disable Turbo Boost (I7-10700k) or by limiting the Turbo Boost to around 4.0-4.2GHz rather than the 4.7GHz it usually boosts to.

The thermal throttling is occurring on the scenery loading threads, so if I run the above, the throttling is happening on cores 4 to 7.

I seem to be able to maintain higher clocks therefore by ‘disabling’ HT using an AM so which of the following makes more sense?

1. 

11,11,11,11,11,11,11,11 = AffinityMask = 65535
01,01,01,01,01,01,01,01 = P3DCoreAffinityMask = 21845
00,00,00,00,00,00,00,01= MainThreadScheduler = 0 = core 0 
00,00,00,00,00,00,01,00= RenderThreadScheduler = 1 = core 1 
00,00,00,00,00,01,00,00= FrameWorkerThreadScheduler = 2 = core 2

2.

11,11,11,11,11,01,01,01 = AffinityMask = 65493
01,01,01,01,01,01,01,01 = P3DCoreAffinityMask = 21845
00,00,00,00,00,00,00,01= MainThreadScheduler = 0 = core 0 
00,00,00,00,00,00,01,00= RenderThreadScheduler = 1 = core 1 
00,00,00,00,00,01,00,00= FrameWorkerThreadScheduler = 2 = core 2

3. 

01,01,01,01,01,01,01,01 = AffinityMask = 21845
01,01,01,01,01,01,01,01 = P3DCoreAffinityMask = 21845
00,00,00,00,00,00,00,01= MainThreadScheduler = 0 = core 0 
00,00,00,00,00,00,01,00= RenderThreadScheduler = 1 = core 1 
00,00,00,00,00,01,00,00= FrameWorkerThreadScheduler = 2 = core 2

Thanks.

Share this post


Link to post

Your example 3 would be better, maybe you could try with less cores assigned to scenery gathering - an example using two:

11,11,11,11,11,01,01,01=AffinityMask = 65493
00,01,00,01,00,01,01,01=P3DCoreAffinityMask = 4373
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

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Thank you very much - much appreciated. I will dabble a little more and see if there is a happy median.

  • Like 1

Share this post


Link to post
12 hours ago, joepoway said:

In the recommended scenario 1 :

11,11,11,01,01,01=AffinityMask = 4053
11,11,11,01,01,01=P3DCoreAffinityMask = 4053
00,00,00,00,00,01=MainThreadScheduler = 0 = core 0 
00,00,00,00,01,00=RenderThreadScheduler = 1 = core 1 
00,00,00,01,00,00=FrameWorkerThreadScheduler = 2 = core 2 

 

Adapting this to my 8-core 5800H, i do get better results than with my solution. So, disabling HT from the 3 "main" cores for P3D and letting it enabled for the rest.

Very nice tip. If i let HT enabled in the main cores there's stuttering, but like this it's simply superb.

  • Like 1
  • Upvote 1

CASE: Louqe S1 MKIII CPU: AMD R5 7600X RAM: 32GB DDR5 5600 GPU: nVidia RTX 4070 · SSDs: Samsung 990 PRO 2TB M.2 PCIe · PNY XLR8 CS3040 2TB M.2 PCIe · VIDEO: LG-32GK650F QHD 32" 144Hz FREE/G-SYNC · MISC: Thrustmaster TCA Airbus Joystick + Throttle Quadrant · MSFS DX11 · Windows 11

Share this post


Link to post
6 hours ago, Ray Proudfoot said:

Any clues as to how that can be automated? Currently it inherits the same AM as P3D using all cores / VPs.

If you use Process Lasso while everything is running in terms of P3D and it’s addons you can look at all the processes running. Then you can select the process you want and click on it and in the drop down select change affinity. Then make sure to select the always drop down. Next I usually select the clear to start with no cores and then check off the ones I want. When you exit this process will always be modified to the new desired settings when launched. I’m not advertising for Process Lasso it’s just what I have been using for several years after I moved away from Simstarter. 
 

Joe

  • Like 2

Joe (Southern California)

SystemI9-9900KS @5.1Ghz/ Corsair H115i / Gigabyte A-390 Master / EVGA RTX 2080 Ti FTW3 Hybrid w 11Gb / Trident 32Gb DDR4-3200 C14 / Evo 970 2Tb M.2 / Samsung 40inch TV 40ku6300 4K w/ Native 30 hz capability  / Corsair AX850 PS / VKB Gunfighter Pro / Virpil MongoosT-50 Throttle / MFG Crosswind Pedals /   LINDA, VoiceAttack, ChasePlane, AIG AI, MCE, FFTF, Pilot2ATC, HP Reverb G2

Share this post


Link to post
37 minutes ago, joepoway said:

If you use Process Lasso while everything is running in terms of P3D and it’s addons you can look at all the processes running. Then you can select the process you want and click on it and in the drop down select change affinity. Then make sure to select the always drop down. Next I usually select the clear to start with no cores and then check off the ones I want. When you exit this process will always be modified to the new desired settings when launched. I’m not advertising for Process Lasso it’s just what I have been using for several years after I moved away from Simstarter. 
 

Joe

I use SimStarterNG for settings AMs for the various executables so the only ones left are AIG Traffic Controller and couatl64.exe launched via add-on.xml. If assigning these to a particular AM is a one-off with PL then I'm happy to try it.

Presumably after setting them PL is no longer needed. But where are those settings stored and how are they implemented?


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
3 hours ago, Nuno Pinto said:

but like this it's simply superb.

I have been recommending this way for HT since the early days of FSX. The only thing changed in P3D v5.3 is the ability to position the three main tasks. So in FSX and older P3D you would use AffinityMask with the same considerations for HT enabled.

Edited by SteveW
  • Like 1
  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Here is what I experienced this morning:

i7-8700 (6 Cores, 12 LP), 60Hz monitor

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

The performance was very smooth but I am confused about the FPS  which was showing a solid 60 FPS.  Don't get me wrong I am not an FPS chaser. I noticed the FPS was a solid 60 when in windowed mode, then down to a solid 30 in Full screen. I was expecting a 30 FPS (which is all I ask for), my preference, in both windowed and Full Screen modes. In the NCP Manage 3D Settings  for "Prepar 3D .exe" I have VSync set to "adaptive 1/2 refresh rate" and "max frame rate" set to "Global". Should I cap my  "max frame rate" to 30? I would have logically thought that setting VSync to "adaptive 1/2 refresh rate" under Manage 3D Settings P3D would run the monitor (60Hz) at a capped 30 FPS. So I am just curious as to why Full Screen mode would show an FPS of 30 (my preference) and Windowed mode 60 FPS? Other than that I am very pleased with the above Job Scheduler.

Thanks Again!

 

 

Edited by TomCYYZ
  • Like 1

i913900KF (5.8GHz) | Case: Fractal PopAir RGB I MSI Z790-VC | MSI Gaming RTX 4070Ti Super 16GB | Kingston Fury Beast 32GB DDR5 | SOLIDIGM P41 Plus 2TB NVMe M.2 SSD | Samsung SSD 870 EVO 2TB | Thermalright Frozen Notte 240 MM Liquid Cooling | Samsung 41" Monitor 1920 x 1080 60Hz | Honeycomb Alpha & Bravo | Logitech G Pro pedals | Tobii EyeTracker

Share this post


Link to post
3 hours ago, TomCYYZ said:

So I am just curious as to why Full Screen mode would show an FPS of 30 (my preference) and Windowed mode 60 FPS?

On my system, 60Hz 4K on Display Port, with vsync half refresh in NCP Prepar3D.exe profile I am getting 30fps very stable indeed, whether full screen or windowed. On some systems this does not work as expected.

To be sure things are set right, I would start investigation by going to the Manage 3D Settings in NCP and on the Global profile, Restore/Apply, then in programs tab choose the Prepar3D.exe profile and Restore/Apply. Now in the Prepar3D.exe profile I would just set the vsync to adaptive half refresh and try running the sim again, with P3D Display Settings, Unlocked on the slider and Vsync=On. Also consider if other software outside of P3D may be in play to affect the display vsync frequency.

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
22 minutes ago, SteveW said:

Also consider if other software outside of P3D may be in play to affect the display vsync frequency.

Steve, thanks for the tip. I will try the  restore/apply  function in the NCP. Not sure if other addons are affecting vsync, but I run Pilot2ATC, Ezdok, FFTF Dynamic on the P3D machine with Activesky (AP3D) running on a client machine. 

  • Like 1

i913900KF (5.8GHz) | Case: Fractal PopAir RGB I MSI Z790-VC | MSI Gaming RTX 4070Ti Super 16GB | Kingston Fury Beast 32GB DDR5 | SOLIDIGM P41 Plus 2TB NVMe M.2 SSD | Samsung SSD 870 EVO 2TB | Thermalright Frozen Notte 240 MM Liquid Cooling | Samsung 41" Monitor 1920 x 1080 60Hz | Honeycomb Alpha & Bravo | Logitech G Pro pedals | Tobii EyeTracker

Share this post


Link to post

You're welcome. I was thinking of something more external to the simulator software and add-ons like RivaTuner for instance that can alter the display behaviour.

Edited by SteveW

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