Jump to content
Sign in to follow this  
GSalden

V4.5 : what has happened to Locked framerate ?

Recommended Posts

Much like @LecLightning56 stated, you can get a more normal core 0 usage from BitSum products. What I do is load up into the sim (plane and airport). Then look at process lasso. You'll see your core 0 usage at 100%. Then click on the P3D process and change the current CPU affinity and disallow cores 0 and 1. You'll see the core usage on core 0 drop/ Wait about 10 seconds, then set the affinity so that all cores are used. You should then see all cores pick up.


"I am the Master of the Fist!" -Akuma
 

Share this post


Link to post
1 minute ago, Bert Pieke said:

Interesting... With HT set to ON on my 4770K, I find that keeping Core0 empty all the time gives the main P3D thread on Core1 the breathing room that it likes to have.. but every system is truly different in this regard.. number of CPU cores, HT on or off, other addons... etc etc 

My further thing to add (and more pertinent to this thread) is that the dynamic affinity with CorePrio works irrespective of whether or not frames are locked in P3D v4.5, i.e. core 0 remains well less than 100%.

Share this post


Link to post
53 minutes ago, LecLightning56 said:

I don't want to be accused of alchemy, but I have discovered a tool from Bitsum (the same people as Process Lasso) called CorePrio (freeware, check the Bitsum website) which does something interesting on the subject of the problem observed with core 0 at 100%.

I am only basing my findings on e.g. the default F-22 at KVPS, but when I start the sim with the aircraft on the ground, core 0 is at 100%. If you then set the CPU affinity in CorePrio to exclude core 0 for Prepar3D.exe, core 0 drops down from 100% to say 60-70% approximately and I gain about 10 fps for the bargain. Note that this is not a permanent affinity to always exclude core 0 but a dynamic affinity and this may explain why Process Lasso by itself may not be able to achieve the desired results. I have mentioned CorePrio before on the AvSim forums and I would agree that although it may have been designed around AMD processors, it certainly seems to operate on Intel processors. I cannot vouch for the performance of CorePrio on more recent Intel processors (mine is rather old, an i7 875K, but I do manage to do some modest overclocking using the Intel Xtreme Tuning Utility). CorePrio was recommended to me by the developer of Process Lasso.

 

My understanding was that CorePrio was going to be implemented into or be a part of PL. I guess that has not happened yet. 

Share this post


Link to post
2 minutes ago, SKEWR said:

Much like @LecLightning56 stated, you can get a more normal core 0 usage from BitSum products. What I do is load up into the sim (plane and airport). Then look at process lasso. You'll see your core 0 usage at 100%. Then click on the P3D process and change the current CPU affinity and disallow cores 0 and 1. You'll see the core usage on core 0 drop/ Wait about 10 seconds, then set the affinity so that all cores are used. You should then see all cores pick up.

Interesting you should say that. It would appear that if having observed the reduction in core 0 usage from 100% I then stop the CorePrio process, the effect of having reduced the core 0 usage remains within the system. It could be that CorePrio does not have to be operating continuously in order to achieve a more dynamic affinity for the cores operating.

Share this post


Link to post

According to the CorePrio description (which I just read), it addresses a possible bug in the Windows Scheduler.. which is consistent with other observations that I have come across, that turning affinity off and on again after P3D is running can improve performance.. Others have blamed this on LM, but if indeed the Windows Scheduler is the culprit that might explain a lot, especially the inconsistent nature of both the problem and the fix..

Quote:

It turns out the reason was because the CPU affinity has to be changed after the process starts; the effect is not seen when the CPU affinity is assigned during process creation.

What is the issue?

Nobody knows. Or at least nobody has communicated such. Whether it is core thrashing, a memory channel bottleneck inherent to the NUMA allocation strategy, we don’t know. No theories have panned out that point to a definitive cause, leading to the speculation it may simply be some bug or quirk deep in the Windows scheduler.

What is the ‘fix’?

The ‘fix’ is bizarrely imprecise. For affected processes, a call to SetProcessAffinityMask, without even changing the affinity (e.g. all CPUs to all CPUs), resolves the performance issue – at least most of the time. Our best guess is that the preferred NUMA node for the process is removed, causing the Windows scheduler to change behavior, as evidenced by the thread ideal processor selections, and more importantly the massive change in performance.


Bert

Share this post


Link to post
10 minutes ago, pracines said:

My understanding was that CorePrio was going to be implemented into or be a part of PL. I guess that has not happened yet. 

That is correct as I understand it from the developer. I think he is at two minds over whether or not to leave CorePrio as a standalone utility, or as an optional feature within Process Lasso.

Edited by LecLightning56

Share this post


Link to post
11 hours ago, GSalden said:

It doesn’t matter if all sliders are set to the left and Locked framerate at 10 , core 0 ( main thread ) has  100% load.

Using Unlimited shows a 92%  load with very high settings and 95+  fos, while with Vsync on ( 25 hertz / 2 4K displays in NVSurround with Distortion correction ) load drops to 67%.

As Uimited + Vsync still show some jumping up fps ( 50/100/ back to 25 ) , in V4.4 I also used Locked at 30 to avoid that.

When doing that with V4.5 because of the Locked framerate too there is this 100% load .

Therefore I started to test with my 2 pc’s and found out that with Locked framerate , regardless of the settings , the main core shows a load of 100% which causes micro stutters ..

After reading things like that everywhere, I decided to keep on with my v4.4 that works!. No rush here, but don´t like to be part of any beta testing.

Cheers, Ed

  • Like 1
  • Upvote 1

Cheers, Ed

MSFS Steam - Win10 Home x64 // Rig: Corsair Graphite 760T Full Tower - ASUS MBoard Maximus XII Hero Z490 - CPU Intel i9-10900K - 64GB RAM - MSI RTX2080 Super 8GB - [1xNVMe M.2 1TB + 1xNVMe M.2 2TB (Samsung)] + [1xSSD 1TB + 1xSSD 2TB (Crucial)] + [1xSSD 1TB (Samsung)] + 1 HDD Seagate 2TB + 1 HDD Seagate External 4TB - Monitor LG 29UC97C UWHD Curved - PSU Corsair RM1000x - VR Oculus Rift // MSFS Steam - Win 10 Home x64 - Gaming Laptop CUK ASUS Strix - CPU Intel i7-8750H - 32GB RAM - RTX2070 8GB - SSD 2TB + HDD 2TB // Thrustmaster FCS & MS XBOX Controllers

Share this post


Link to post
20 minutes ago, LecLightning56 said:

Interesting you should say that. It would appear that if having observed the reduction in core 0 usage from 100% I then stop the CorePrio process, the effect of having reduced the core 0 usage remains within the system. It could be that CorePrio does not have to be operating continuously in order to achieve a more dynamic affinity for the cores operating.

CorePrio appears to offer two capabilities, which one are you using?

Is the NUMA disassociator enough by itself?


Bert

Share this post


Link to post
6 minutes ago, Bert Pieke said:

According to the CorePrio description (which I just read), it addresses a possible bug in the Windows Scheduler.. which is consistent with other observations that I have come across, that turning affinity off and on again after P3D is running can improve performance.. Others have blamed this on LM, but if indeed the Windows Scheduler is the culprit that might explain a lot, especially the inconsistent nature of both the problem and the fix..

Quote:

It turns out the reason was because the CPU affinity has to be changed after the process starts; the effect is not seen when the CPU affinity is assigned during process creation.

What is the issue?

Nobody knows. Or at least nobody has communicated such. Whether it is core thrashing, a memory channel bottleneck inherent to the NUMA allocation strategy, we don’t know. No theories have panned out that point to a definitive cause, leading to the speculation it may simply be some bug or quirk deep in the Windows scheduler.

What is the ‘fix’?

The ‘fix’ is bizarrely imprecise. For affected processes, a call to SetProcessAffinityMask, without even changing the affinity (e.g. all CPUs to all CPUs), resolves the performance issue – at least most of the time. Our best guess is that the preferred NUMA node for the process is removed, causing the Windows scheduler to change behavior, as evidenced by the thread ideal processor selections, and more importantly the massive change in performance.

The thing is, I did not have this issue in 4.4 and still don't with any other program. 

I just confirmed it with XPlane 11.34 r1, all cores being used about equally at about 80-90%

 

Share this post


Link to post
11 hours ago, GSalden said:

It doesn’t matter if all sliders are set to the left and Locked framerate at 10 , core 0 ( main thread ) has  100% load.

Wow.  In 4.4 that was not normal with a frame limit/vsync -- and was very bad for smoothness.

Have you tested with 4.5 and confirmed that it is stuttering?  Or is it at 100% load yet smooth?

 


Rhett

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

Share this post


Link to post
4 minutes ago, Mace said:

Wow.  In 4.4 that was not normal with a frame limit/vsync -- and was very bad for smoothness.

Have you tested with 4.5 and confirmed that it is stuttering?  Or is it at 100% load yet smooth?

 

11 hours ago, GSalden said:

Therefore I started to test with my 2 pc’s and found out that with Locked framerate , regardless of the settings , the main core shows a load of 100% which causes micro stutters ..

Share this post


Link to post
5 minutes ago, pracines said:

The thing is, I did not have this issue in 4.4 and still don't with any other program. 

I just confirmed it with XPlane 11.34 r1, all cores being used about equally at about 80-90%

 

XPlane is different... always has been..  :wink:


Bert

Share this post


Link to post
1 minute ago, pracines said:

 

I saw that paul -- I meant (big) stutters aka pauses.  But microstutters will do, too.  That's bad enough.


Rhett

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

Share this post


Link to post
48 minutes ago, GSalden said:

Already posted this at the LM forum with a link to this thread.

Please post your experience too as it will help . Thanks !

Here the link http://www.prepar3d.com/forum/viewtopic.php?f=6312&t=133690

 

Just to clarify what we are discussing here...

P3D always has loaded up the first Core, maybe not to 100% but certainly to 90% when the VC cockpit is showing..

Are you now at a solid 100% all the time, even in exterior view??

For what it is worth, I am finding that V4.5.1. runs very smoothly on my system..

 


Bert

Share this post


Link to post
6 minutes ago, Mace said:

I saw that paul -- I meant (big) stutters aka pauses.  But microstutters will do, too.  That's bad enough.

Big difference here.. Scenery loading pauses, where the display stops for a fraction of a second or longer, are one thing and common, especially in heavy scenery like Orbx SoCal...

Microstutters while flying, especially when looking out to the side, aka "Fluidity" or lack there of, are what I thought we were discussing.. No?

Edited by Bert Pieke

Bert

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