Jump to content
Sign in to follow this  
FlyIce

The biggest fps killer in P3D?

Recommended Posts

What we are seeing is a generally limitation of parallel processing on an Intel CPU.

It is not the limitation of the CPU but the type of software. Multithreading efficiently so that the task can be distributed between several cores is very difficult if not even impossible for a complex real time software like P3D or almost any other modern game for that matter. It is way easier to efficiently multithread tasks like encoding/decoding or encryption/decryption. You can offload stuff to different threads, but ultimately as everything needs to be in sync, the performance is always according to the slowest thread, which usually is the main one, no matter what. Now, as P3D still carries quite a lot of old code from the days when multicore processors were nonexistent or just in their beginning and multicore OS scheduling for windows was bad (XP), there may still be room for optimization and improvement to a certain point. But in the end, main thread will be the one that is going to be loaded the most, but it pretty much also needs to be so.

Share this post


Link to post

They tell you to tweak right in the "Learning Center". Tweak away if you are so inclined!


 - Bill Magann

Share this post


Link to post

If the aircraft systems were offloaded to a separate machine, would that allow significant extra space in the main loop? I was led to believe that the calculation of the displays creates a considerable overhead.

 

 

Share this post


Link to post

I'm not a programmer but I'd think traffics like cars, planes, ships etc can be easily offloaded from the main core? If this is done maybe we'll see much less performance hit with traffics.


7950X3D / 32GB / RTX4090 / HP Reverb G2 / Win11

Share this post


Link to post

 

 


It is not the limitation of the CPU but the type of software.

 

True. If there are multiple independent tasks, then there is no need to keep them synchronized. But that all but rules out simulation modeling


I'm not a programmer but I'd think traffics like cars, planes, ships etc can be easily offloaded from the main core? If this is done maybe we'll see much less performance hit with traffics.

See TheGrunt's post above. Much of the code in FSX and P3d is old and wasn't designed to scale up properly with 4, 6, 8 or more physical cores (and even double that with hyperthreading on). Some programming changes were doable, such as assigning scenery loading to specific threads. Offloading certain tasks to the GPU also were possible.

 

Other changes are apparently more challenging. At some point, constantly tinkering with over a million lines of code, just is not productive, especially when the long term goal is also conversion of P3d to 64 bits. The other consideration is that with every improvement, often new bugs are introduced. With such a variety of hardware and software supporting P3d, the task is almost insurmountable. That doesn't mean that in the short term, LM can't improve matters. But just don't expect miracles. The only true solution is buying state of the art hardware and hoping for the best.

Share this post


Link to post

LM has recognized that the main CPU thread is often the limiting factor for performance on high end systems and I would assume that if there was a simple solution, they would have made those code changes already. What we are seeing is a generally limitation of parallel processing on an Intel CPU.

 

I think in general that interpretation is possibly quite valid, but the elephant in that room is that when you're looking point blank at the side of a relatively simple structure like an airport terminal it appears indeed it's being created and rendered more by the CPU and geez, it's a pretty low resolution image to boot.  Not high def, high detail.  And yet, kills the CPU.  If I rotate my view left 90 degrees, frame rate increases from 20 to 28 or so.  Looking at that building it appears is what kills it.  And it really kills it.  If I toggle the VC view off so I'm just seeing the terminal, I see in increase in frame rate only by about 10%, or 2, wheres in most other situations, frames will increase by 20-25% sometimes.   I wouldn't assume LM has addressed this sort of issue, because it may only exist in certain types of objects.


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

It's probably not the rendering of the buildings that is killing CPU. More likely the calculation of some dynamic effect that you can't see from the current view. I'm thinking animated jet ways or Ai aircraft or ground traffic or weather or some aspect of the aircraft systems like any weather radar or TCAS. Sadly, just because you can't see it moving doesn't mean that esp isn't working out what it would be doing if you could.

 

I'd be interested to see what happens if you pull the plugs and go "cold and dark" or alternatively to turn off all weather.

 

I'd be even more interested to see a block diagram of the simulator's main loop.

 

Z

Share this post


Link to post

It's probably not the rendering of the buildings that is killing CPU. More likely the calculation of some dynamic effect that you can't see from the current view. I'm thinking animated jet ways or Ai aircraft or ground traffic or weather or some aspect of the aircraft systems like any weather radar or TCAS. Sadly, just because you can't see it moving doesn't mean that esp isn't working out what it would be doing if you could.

 

I'd be interested to see what happens if you pull the plugs and go "cold and dark" or alternatively to turn off all weather.

 

I'd be even more interested to see a block diagram of the simulator's main loop.

 

Z

 

Touche, you nailed it.  I had turned pretty much everything off in the past when I've looked at this, including weather, tessellation, HDR, even autogen & vegetation, cold and dark, even in the Piper Cub, all w/ the most modest increases in frame rate.    The building was a giant red herring--it's clearly airline traffic that does it.  When I set airline traffic at 100% frames go to 16 at JFK in the Piper Cub, and at 0% frames go to 52, so there you have it.   That parked airline traffic happens generally to be in the same view as the terminal building was cause of the red herring interpretation.

 

XPlane I believe assigns AI traffic to non-mainthread cores so perhaps that is something that could be done by LM, which I think is their basis for the statement you can 'throw as many cores at it as you have' and XPlane will use them, for this purpose.   I run my SB-E hexacore w/ HT enabled and as you know these cores get used when there are textures to load.  In the most complex scenery I will see indicated utilization in virtual cores 2-11 fluctuate between 40 and 80% or so, so this appears to indicate there is untapped CPU power that might be useable for traffic.

 

Cheers!


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

Hi Noel. According to the chap I spoke to at the flight sim exhibition X-Plane processes every AI aircraft with the same FDE that the main aircraft uses (albeit on a separate thread). This is a HUGE overhead and surely means that unless you have a handy server array lying around realistic levels of AI traffic will always drag the sim to a halt (though they may fly beautifully).

 

Note that I'm not knocking X-Plane here, just this seemingly odd architectural choice.

 

Z

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