Jump to content
Sign in to follow this  
SledDriver

P3D multicore usage anomoly

Recommended Posts

It seems everyone is missing the key facts about this core miss-usage.

Affinity masks don't sort it. All they do is move the 100% core usage to another core permanently.

I've been tweaking MS FSX and now P3D for 30 years, and what I am about to write is giving me the smoothest animation I have ever seen in these flight sims.

The measures I take are as below:

1) Turn off Hyperthreading.

2) Turn off SpeedStep in the BIOS

3) Turn on any Turbo mode permanently.

The previous two points are setting the CPU to work at a constant speed - this is often a good thing to do for real-time apps such as sims or music/video production). For instance, my 8700K runs at 5GHz all the time on all cores, including when AVX instructions are in use. This requires careful overclocking/cooling. Even if you can't reach a high overclock, it's better to have the CPU running constant for the sim rather than all these modern power saving features speeding up and slowing down the cpu - they can't predict future processing demand, so just cause problems in this type of application - fine for word processing/photoshop etc.

4) Install everything on SSD drives.

5) Add the FIBER_FRAME setting to the P3D cfg file and lower the value a bit - it defaults to 0.33. 0.2 is working well for me, but machines vary.

6) Don't bother with an affinity mask settings, in fact delete any you have made.

7) Start P3D.

8) Open TaskManager. Go to details and fine Prepare3D.exe. Right click it and disable core0. Click OK. Now right click it again and re-enable core0. Click OK. Now the load is spread evenly over all cores. I've read many of the posts saying that it's OK for core0 to be hammered at 100%, but this is not my experience in many years. With a properly tuned and configured machine, I get smoother performance this way.

9) Set your P3D frame rate to limited 30fps, Triple buffering ON. Yes I've read all the theories on which is the best way to set this, but I am simply relating what has worked very well for me.

10) Now get some decent hardware monitor tools to watch you CPU usage and GPU usage and spend some time tweaking all the other settings inside P3D so that your CPU is running at around 50% and your GPU at around 75% during normal flight with all your add-ons doing their thing. Do not max out the CPU or GPU as you need to leave headroom for when you are flying near very busy scenery, like big airports.

Summary.

So what you may detect reading all the above, everything is aimed at getting persistent, consistent performance throughout a sim session. Glassy smooth animation is the most important thing in simming. Any microstutters and the illusion of immersion is gone instantly.

P3D still has a way to go, but the above methods and settings have resulted in a totally enjoyable experience with smooth animation even in busy areas.

Hope this helps someone.

Cheers

 

With all the above in place

Share this post


Link to post

Happy you've got it all worked out - for you..

Quote:

"Now the load is spread evenly over all cores."

Interesting observation, that I have never witnessed  :cool:

 

 


Bert

Share this post


Link to post

You wont get that with an Affinity Mask. You have to disable/enable core 0 manually then it should work.

Share this post


Link to post
51 minutes ago, SledDriver said:

Open TaskManager. Go to details and fine Prepare3D.exe. Right click it and disable core0. Click OK. Now right click it again and re-enable core0. Click OK. Now the load is spread evenly over all cores.

I've observed the same on my end (i7-9700k). Now I'm trying to see if I notice improvements in performance or not. But it is nice to see it not 100% all the time.

Edited by pvupilot

/ CPU: Intel i7-9700K @4.9 / RAM: 32GB G.Skill 3200 / GPU: RTX 4080 16GB /

RW Freight Pilot

Share this post


Link to post
23 minutes ago, SledDriver said:

You wont get that with an Affinity Mask. You have to disable/enable core 0 manually then it should work.

The load just moves to another core..

  • Upvote 1

Bert

Share this post


Link to post
41 minutes ago, Bert Pieke said:

The load just moves to another core..

Yep.  When it comes to computer resources, little is to be gained by robbing Peter to pay Paul.

Greg

Share this post


Link to post
1 hour ago, Bert Pieke said:

Happy you've got it all worked out - for you..

Quote:

"Now the load is spread evenly over all cores."

Interesting observation, that I have never witnessed  :cool:

I haven't either--but is that because we haven't set up the sim in this fashion, w/ the little trick to get "the load spread evenly over all cores?"

Simple enough to try but it seems to contradict how others have described P3D's built-in work sorting schema.

Edited by Noel

Noel

System:  9900K@5.0gHz@1.23v all cores, MSI MPG Z390M GAMING EDGE AC, Noctua NH-D15S w/ steady supply of 40-60F ambient air intake, Corsair Vengeance 32Gb LPX 3200mHz DDR4, Sabrent NVMe 2Tb x 2, RTX 4090 FE, Corsair RM 850W PSU, Win10 Pro, LG Ultra Curved Gsync Ultimate 3440x1440, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frametime Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320NX, WT 787X

 

Share this post


Link to post
14 minutes ago, Noel said:

I haven't either--but is that because we haven't set up the sim in this fashion, w/ the little trick to get "the load spread evenly over all cores?"

Simple enough to try but it seems to contradict how others have described P3D's built-in work sorting schema.

I did try it... :wink:


Bert

Share this post


Link to post
4 hours ago, Bert Pieke said:

The load just moves to another core..

Do you guys deliberately bury your heads in the sand. I took the time and trouble to write that report because it works.

And you just quip that the load moves to another core. NO IT DOESN'T. It moves to another core if you just set a static affinity mask.

If you do the core0 disable/enable routine each time just after starting the sim, the core0 hit is OBVIOUSLY successfully shared across all the cores.

Why can't you guys see this? I despair at the reams of forum topics here and elsewhere with (usually nontechnical) people continuously droning on about affinity masks. Affinity masks do not sort the problem.

It's a very strange world where you just ignore solid evidence gained by extensive controlled iterative testing to get where I am today with a smooth sim.

And the other theory that core0 should be allowed to run at 100% as it is doing 'special things', is utter technical BS. Computer cores aren't magic. They have finite resources. If the sim loads a core up to 100%, something else has to wait. Hence problems. This 100% thing goes back well into the history of FSX, and it was never a good thing. 

Still each to his own. Me to my smooth lovely sim. You to your continued search for nirvana.

  • Upvote 1

Share this post


Link to post
3 hours ago, Bert Pieke said:

I did try it... :wink:

Another quip. Reporting your results would be more productive, even if they go against my suggestions.

There is more to getting a smooth sim than "trying the test". did you notice I wrote many points which are all important to get smoothness.

No one quick trick will sort a sim out.

 

Edited by SledDriver

Share this post


Link to post
3 hours ago, Noel said:

Simple enough to try but it seems to contradict how others have described P3D's built-in work sorting schema.

There were 10 points to my list of things - they are all important. Doing just one thing on the list is not going to get you far.

Perhaps I should say that I have in my time been a professional software developer and system designer, have programmed 3D graphics applications, and have done that in assembler/machine code, so I have some grasp as to how a CPU works at the low level, and I cannot support the idea that one core running a 100% while the others are relatively lightly loaded is ever a good thing.

There seems to be a whole 'religion' of thought about how this sim and it's predecessor might work - it's taken on its own life online - much of which is written by well-meaning, frustrated, non-computer-developer/technical people.

I've tweaked FSX for umpteen years ever since it was Sublogic.

I've owned P3D for just 2 weeks, and in that time have done extensive iterative performance tests on my hardware and the sim software, and in just two weeks I now have a sim performing excellently. It's not perfect - that's why it's still in development and LM are rewriting whole chunks of it as time goes by, but it is a delight to use and runs very well.

It seems many are just going round in circles trying to achieve the same thing, and have been for years, so I wrote what I thought might be a useful guide to how I've achieved good smoothness in the sim.

Do what you want with it, including ignoring it. But quipping that you tried one test on a critical list of 10 things, proves nothing.

 

Share this post


Link to post

I'm glad you have a smooth running sim, SledDriver.

Cheers,

Mark

  • Like 1
  • Upvote 1

Share this post


Link to post
1 hour ago, SledDriver said:

I've tweaked FSX for umpteen years ever since it was Sublogic.

I've owned P3D for just 2 weeks, ..

Kind of what I suspected..  :unsure:

I also came from an FSX background, a year ago...

P3D actually is different, and you may also discover some more things as you get to use it more.

I am certainly happy that you like it.. and maybe the best thing is to just leave it at that..

Edited by Bert Pieke
  • Like 1

Bert

Share this post


Link to post
2 hours ago, SledDriver said:

Another quip. Reporting your results would be more productive, even if they go against my suggestions.

 

OK, I accept your challenge..

Here is my "recipe" for a 4770K@4.2 / GTX1070 system,  just tested with P3DV4.5.

1. Set an affinity mask of 246 for an eight core (quad+HT) processor.

    // 246=11 11 01 10

2. Start up P3D with fps set to unlimited, Vsync off.

3.  Start up RTSS and select Scanline Sync / 2 with 60 Hz for a 60 Hz monitor

4.  After loading P3D, use Task Manager to enable the third core, leaving the first core unselected.

Go fly!  :cool:

 

Edited by Bert Pieke

Bert

Share this post


Link to post
3 minutes ago, Bert Pieke said:

Start up RTSS and select Sync rate / 2 with 60 Hz for a 60 Hz monitor

This is the key...

Share this post


Link to post
Guest
This topic is now closed to further replies.
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...