Jump to content
Sign in to follow this  
SledDriver

P3D multicore usage anomoly

Recommended Posts

40 minutes ago, lownslo said:

No joy here.  Running with no frame rate limiting at all my system will run at 30-50fps during my test flight (the same test I've used since FS9).  If I enable Vsync and lock frame rate to 59 I simply see the same 30-50fps... but with a jerky, lagging scene on my monitor.  Looks like the scene is being held back/dragged ahead based on the varying frame rate.  If I lower the framerate limiter to 40, the frame rate varies between 30-40.  The jerky scene on my monitor isn't quite as bad but still unpleasant.  If I set the sim's FR limiter to 31 the frames vary between 30-31, and the scene flows smoothly across my 60hz monitor.

Cheers,

Greg

 

Did you disable triple buffering?

Or do you have a gsync or freesync monitor by any chance?

Share this post


Link to post

Triple buffering was off throughout, and my monitor is neither Gsync or Freesync... just a dumb 60hz monitor. :biggrin:

Share this post


Link to post
1 hour ago, lownslo said:

No joy here.  Running with no frame rate limiting at all my system will run at 30-50fps during my test flight (the same test I've used since FS9).  If I enable Vsync and lock frame rate to 59 I simply see the same 30-50fps... but with a jerky, lagging scene on my monitor.  Looks like the scene is being held back/dragged ahead based on the varying frame rate.  If I lower the framerate limiter to 40, the frame rate varies between 30-40.  The jerky scene on my monitor isn't quite as bad but still unpleasant.  If I set the sim's FR limiter to 31 the frames vary between 30-31, and the scene flows smoothly across my 60hz monitor.

Cheers,

Greg

 

I thought I had posted on this as an addendum but can't find it now!

I did the requisite setup of returning my monitor refresh to 60Hz, disabling triple buffering, leaving VSYNC on and internally locked frames to different values between 35 and 55.   Behavior was exactly as predicted from my decades of experience:   P3D continues to churn out whatever fps it can per situation until it hits the internal frame lock.  So the idea that you can use this procedure as a surrogate for setting your display at 30hz, your frames unlimited, and vsync on w/ or w/o triple buffering appears bogus which I had assumed was the case.   The final test was at KPSP in the fabulous Phenom 300 where frames at the gate were about 35 (with an internal lock set at 45, or UNLIMITED), because of course this is all my box could crank out.   Being a poor test for the theory since the best we can do there is around 35 w/ my sliders set as they are, I went to my old rural airport, P40 (the late town of Paradise CA where we and most everyone else nearly burned up trying to get out of the town last Nov 8), and put the Phenom on RWY 17.   This is a low impact area so unlimited w/o a internal frame lock I'm seeing about 55fps.  Almost enough to hit 60 w/ VSYNC on, i.e. the Promised Land!  So we set the frame lock down to 45, then to 35, and with both the frames indeed locked right to the locked setting as it always has.  So no joy w/ this idea here either.

Edited by Noel

Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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
1 hour ago, lownslo said:

No joy here.  Running with no frame rate limiting at all my system will run at 30-50fps during my test flight (the same test I've used since FS9).  If I enable Vsync and lock frame rate to 59 I simply see the same 30-50fps... but with a jerky, lagging scene on my monitor.  Looks like the scene is being held back/dragged ahead based on the varying frame rate.  If I lower the framerate limiter to 40, the frame rate varies between 30-40.  The jerky scene on my monitor isn't quite as bad but still unpleasant.  If I set the sim's FR limiter to 31 the frames vary between 30-31, and the scene flows smoothly across my 60hz monitor.

Cheers,

Greg

 

My test above was actually to leave the fps at unlimited, and enable vsync, without triple buffering..  and it locked at 30.

Edited by Bert Pieke

Bert

Share this post


Link to post
15 minutes ago, Bert Pieke said:

My test above was actually to leave the fps at unlimited, and enable vsync, without triple buffering..  and it locked at 30.

itsjase

You can set your iN sim limiter to anything between 33-57fps and triple buffering off.   This will lock it to 30 vsynced

 

 

Edited by Noel

Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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
45 minutes ago, Noel said:

itsjase

You can set your iN sim limiter to anything between 33-57fps and triple buffering off.   This will lock it to 30 vsynced

 

 

You actually quoted my post... and I tested with fps set to unlimited in P3D.. :wink:


Bert

Share this post


Link to post

This is strange behaviour, one last question, do you run windowed or fullscreen?

Edit: nevermind I just read LM removed full screen from P3D.

I'm assuming windows is forcing triple buffering, which is why the frames aren't locking.

I'll have a look into it, see if I can figure something out.

Edited by itsjase

Share this post


Link to post
7 minutes ago, itsjase said:

This is strange behaviour, one last question, do you run windowed or fullscreen?

I'm assuming windows is forcing triple buffering, which is why the frames aren't locking.

I'll have a look into it, see if I can figure something out.

I always run (Prepar3d's pseudo) fullscreen mode.

I just checked NCP and Triple Buffering is off here (as it always is).

Actually, like Noel what I described above is just what I expected. If all it took is locking at any frame rate less than 60 and enabling Vsync, nobody using Prepar3d would be buying 30hz capable monitors. 🍻

Cheers,

Greg

Share this post


Link to post
1 hour ago, Bert Pieke said:

You actually quoted my post... and I tested with fps set to unlimited in P3D.. :wink:

I know Bert--it was to point out you were not following itsjase's prescription.   


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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
37 minutes ago, lownslo said:

I always run (Prepar3d's pseudo) fullscreen mode.

I just checked NCP and Triple Buffering is off here (as it always is).

Actually, like Noel what I described above is just what I expected. If all it took is locking at any frame rate less than 60 and enabling Vsync, nobody using Prepar3d would be buying 30hz capable monitors. 🍻

Cheers,

Greg

Yeah I didn't realise P3D had no proper fullscreen mode anymore. I've had a gsync monitor since FSX so haven't really kept up with that aspect.

NCP and P3D settings don't matter anymore then, because windows forces triple buffering through its DWM, meaning there's no way to disable triple buffering in P3D.

Which is a shame, because it would make locking to 30fps much easier without the use of external applications, and also give one less frame of input lag.

So the best option for consistent frame pacing would be: Disable both the in-game frame limiter and in-game Vsync, and set the desired framerate limit in RTSS.

Which I'm guessing is what most people already do?

Edited by itsjase

Share this post


Link to post
23 minutes ago, itsjase said:

Yeah I didn't realise P3D had no proper fullscreen mode anymore. I've had a gsync monitor since FSX so haven't really kept up with that aspect.

NCP and P3D settings don't matter anymore then, because windows forces triple buffering through its DWM, meaning there's no way to disable triple buffering in P3D.

Which is a shame, because it would make locking to 30fps much easier without the use of external applications, and also give one less frame of input lag.

So the best option for consistent frame pacing would be: Disable both the in-game frame limiter and in-game Vsync, and set the desired framerate limit in RTSS.

Which I'm guessing is what most people already do?

Well I don't use any external applications and I have 100% stutter-free video always.  What is the mechanism by which RTSS does its frame limit?  

A long time ago I began thinking what was needed to smooth out a video performance issue I was having and thought an external limiter would improve this.  At the time I was getting video jumps where suddenly video streaming would speed up as if it hung a bit and needed to catch up.  Someone found one, it worked quite well.  But nothing has compared to the sort of fluidity I've had w/ vsyncing to a 30Hz screen.  This was the beginning of 100% freedom from stuttering to the extent the sim can produce 30 fps.  Now if RTSS could deliver thru a comparable mechanism the same perhaps I can restore 60Hz my display and still have the same 100% perfect video performance.   It's always better to have a high screen refresh all else being equal.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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

Capping with RTSS should technically give you 100% free stutter very similar to vsync, and it does in every other game I've tried it with, but...

On further inspection I actually think Sled might be onto something.

It seems that limiting framerate, whether through in-sim limiter, Nvidia Inspector, or RTSS, doesn't reduce CPU usage at all. Which leads me to believe that something is up with P3D.

Uncapped running at 70fps, 100% core0 usage.

Capped at 30fps, whether through RTSS or in-game: Still 100% core0 usage.

In any other application capping the framerate with RTSS also reduces cpu usage.

 

But doing Sled's trick of disabling and re-enabling the cores causes it to work as intended. This is really quite strange.

For reference, I've used RTSS frame rate limiter in 100s if not 1000s of games, and in every single case they reduced cpu+gpu usage. Prepar3d is the first time I've ever seen this behaviour.

Edited by itsjase

Share this post


Link to post
1 hour ago, itsjase said:

Which leads me to believe that something is up with P3D.

That is an understatement!  I think it's peculiarities stem from being a super CPU-dependent program from the start.  

Sled's discovery is fascinating, but ultimately it hamstrings the program I believe in different ways.  If you read my overview of testing in extreme conditions, which would tease out the strategy's potential shortcomings, indeed it was quite evident it was unable to compete with how the sim behaved using my standard vsync to 30Hz refresh rate in the display.  This being said, stay out of the rhetorical badlands and it does produce video that is almost as smooth as what I'm seeing and with considerably less work being done by the CPU, or it's doing it in a more efficient fashion.

One trait that had been present in FSX and still now in P3D:   locking internally reduces frame rate MORE than the limit itself does.  Always has, and true today.  Do this test:  setup a scenario where you are barely able to maintain a stable, static frame rate of X, say 30 or 40, while parked at a very complex gate somewhere in something super demanding, using UNLIMITED frame lock.  Now set the INTERNAL limiter whatever frame rate your machine settle into in this static scenario:  you're going to see a fall off in frame rate of around 15+%.  That's a lot to donate for no good reason.   Not sure why this chokes the sim, but it does, and I believe this feature is in part why running UNLIMITED is ALWAYS best, in-sim.  And as said, you can't beat VSYNC to your screen's refresh to achieve best smoothness, and highest processing capability of your hardware.   

This makes me wonder if you did the Sled trick and changed to UNLIMITED in sim, how things might go.  Worth a look!

 

Edited by Noel

Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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

There's definitely something funny going on. If i go to a quiet area where I can hit over 100fps, limiting the framerate to 30 still does nothing to cpu usage.

I'd understand if this happened because of the way the internal sim limiter worked, but the fact that it happens with external limiters is where it's strange.

I've personally never experienced any of this thanks to Gsync. It really is a game changer.

Share this post


Link to post
2 hours ago, itsjase said:

So the best option for consistent frame pacing would be: Disable both the in-game frame limiter and in-game Vsync, and set the desired framerate limit in RTSS.

Which I'm guessing is what most people already do?

OR... what I do, is to use the Scanline X/2 mode in RTSS to effectively lock at 30 fps.

Not using the RTSS fps limiter though.. :wink:

Edited by Bert Pieke
  • Upvote 1

Bert

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