Jump to content
Sign in to follow this  
Masterius

Why am I getting such low FPS, and how to improve that?

Recommended Posts

Is Dynamic 3D Vegetation in P3Dv5 any better than that in P3Dv4? If not, then I would switch that one off.


Christopher Low

UK2000 Beta Tester

FSBetaTesters3.png

Share this post


Link to post

As part of the Affinity Calculator I put together, I wrote up a PC/system/P3D tuning guide based on a myriad of threads here at Avsim (echoed in this one) and other places, as well as my own testing over the years.  It contains info on setting up your CPU and GPU power, frame rate limiting, disk configurations and optimizations, antivirus exclusions, some P3D settings, and some specifics on FPS troublesome add-ons.

https://izn-flightsim.s3.amazonaws.com/affinity.html

Click on "Beyond Affinity Masks - Optimizing Prepar3D Performance (Prepar3D System Tuning Guide)" at the bottom.

Share this post


Link to post

Thanks everyone, for all your tips, advice, and suggestions! I've pretty much adapted all of them, and along with the new SSD things are looking much faster and much smoother than ever, even with graphics/world settings on the high ends.

5 hours ago, MammyJammy said:

As part of the Affinity Calculator I put together,

I'll be giving this a try next, sometime this week.

Share this post


Link to post

In P3Dv4.x, setting the terrain mesh resolution to 1m was drastically increasing the loading times and was completely unecessary due to the non-existence of such precise mesh anywhere. A waste of ressources, in fact. Not sure if such a remark is still valid in P3Dv5.x, but I would personnally crank that setting a few steps back, like 5 meters or 10 meters.

I also have to agree with Ray's remark regarding the target frame rate. Just set it to unlimited, at least for your performance tests. I would even go as far as disabling the VSync to see how bad the result would *actually* be.

Finally, your screen resolution is a bit weird... is your screen really 768 pixel high only ??

Edited by Daube

Share this post


Link to post
17 hours ago, Christopher Low said:

Is Dynamic 3D Vegetation in P3Dv5 any better than that in P3Dv4? If not, then I would switch that one off.

It still looks bad to my opinion. I disabled it right away when I started with v5.


OS=WIN11 Home, Sim=P3D5 5.4 (P3D4 and FSX for install reasons)
Addons=ORBX, ASCA, AS, TOGA and tons of sceneries, aircraft

MB=Gigabyte AORUS Z790 Elite AX, CPU=i13900K, Cooling=Be quiet! Pure Loop II FX
GPU=KFA2 RTX3090 24 GB, RAM=64 GB DDR5-5600, HOTAS=Logitech G Saitek X52 Pro

Visit my website for fixes and addons: https://sites.google.com/view/dans-p3d-mods

Share this post


Link to post
On 2/17/2023 at 8:07 AM, Masterius said:

Processor Intel(R) Core(TM) i7-7820X CPU @ 3.60GHz, 3600 Mhz, 8 Core(s), 16 Logical Processor(s); Installed Physical Memory (RAM) 64.0 GB; NVIDIA GeForce GTX 1080

If I were you I would lower down level of detail substantially. This machine is too old to run P3D on high settings. P3D is mostly CPU Bound. Your CPU is 7th gen one, there is already 13th gen out already. Or, if you have the funds - I would change processor and GPU with higher ones. Atm I am waiting parts for new pc. I took i9 13900KF and RTX 4090 as processor and GPU. Just, you know flight sim by nature is not optimized for hardware. So it is usual to go into bottleneck when the level of detail is high. 

Share this post


Link to post
1 hour ago, Daube said:

In P3Dv4.x, setting the terrain mesh resolution to 1m was drastically increasing the loading times and was completely unecessary due to the non-existence of such precise mesh anywhere. A waste of ressources, in fact. Not sure if such a remark is still valid in P3Dv5.x, but I would personally crank that setting a few steps back, like 5 meters or 10 meters.

I would note that setting the terrain mesh resolution at 1 or 2 metres can result in the runway "jumping up at you" during take off or landing. This is a bit of a shock when it first happens, and is obviously not recommended. A setting of 5 metres should sort that out.

  • Upvote 1

Christopher Low

UK2000 Beta Tester

FSBetaTesters3.png

Share this post


Link to post
23 hours ago, MammyJammy said:

As part of the Affinity Calculator I put together,

I took a look at your affinity mask instructions. It made my brain bleed. 🤪 Seriously, though, I'll try and play with that at some point.

I did look over my CPU core usage just now. I've 8 physical/16 logical. With just P3Dv5 and Chaseplane running--and with Orbx scenery, too--once P3D has loaded a scenario CPU 0 runs non-stop at 100%, CPUs 1 & 2 at around 20%-25%, CPUs 3 through 12 with nary any use, CPUs 13 & 14 around 10%-15%, and finally CPU 15 with no use. Rotating views spikes all but 2 and 4.

7 hours ago, Daube said:

Finally, your screen resolution is a bit weird... is your screen really 768 pixel high only ??

Ayup. It is. It's a 32" flat screen ELCHS321 manufactured in Oct 2006.

7 hours ago, blaunarwal said:

It still looks bad to my opinion. I disabled it right away when I started with v5.

I've disabled it already and, it seems, will keep it disabled.

5 hours ago, Christopher Low said:

I would note that setting the terrain mesh resolution at 1 or 2 metres can result in the runway "jumping up at you" during take off or landing. This is a bit of a shock when it first happens, and is obviously not recommended. A setting of 5 metres should sort that out.

Yow! That'd be startling, yeppers! 😲

Share this post


Link to post
32 minutes ago, Masterius said:

I took a look at your affinity mask instructions. It made my brain bleed.

Have a read of this post which explains the fundamentals of binary and the Affinity Mask settings. https://www.avsim.com/forums/topic/444793-one-tweak-to-rule-them-all-how-to-set-affinity-mask-correctly/

Once you understand the concept it shouldn’t be that difficult to use Mammy’s calculator.  That link is old and not relevant to v5.3HF2 but it’s the binary bit that’s important.

I’m 71 and never got any mathematical qualifications at school. But crucially, I understand binary which is important.


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
On 2/23/2023 at 3:56 PM, Ray Proudfoot said:

Once you understand the concept it shouldn’t be that difficult to use Mammy’s calculator.

I'm probably not explaining myself well. The calculator itself, as well as how to use the output results, I find are quite clear and understandable. It is properly utilizing the calculator variables that is confusing me.

I have a system with eight/sixteen CPU core/logical processors. I enter those figures in the processor information section and click Start Building My Affinity Masks

The calculator then populates a Core Topology chart which I can then modify using either the Use a Preset options or the Customize a Preset and/or Set Cores Manually customizer. I can also use the Optional FSUIPC6.ini Program Auto-Start Entries "to configure externally-running programs such as ActiveSky or ChasePlane with an affinity mask that will keep them off the cores you have specified as for the Prepar3D core processes." It's these parts I'm struggling with.

If I use the P3D Default Preset I get the same job scheduler/affinity mask that I already have:

[JobScheduler]
AffinityMask=65535
P3DCoreAffinityMask=65535
MainThreadScheduler=0
RenderThreadScheduler=2
FrameWorkerThreadScheduler=4

There seems to be six options available for each core:

1 - Assign a P3D Affinity Processor (AffinityMask=)
2 - Assign a P3D Core Process Affinity Processor (P3DCoreAffinityMask=)
3 - Set the P3D Main Thread Scheduler, likely 100% Core/LP Usage MainThreadScheduler=)
4 - Set the P3D Render Thread Scheduler (RenderThreadScheduler=)
5 - Set the P3D Frame Worker Scheduler (FrameWorkerThreadScheduler=)
(6) - CPU Core (Not used for P3D)

So how do I do that? Actually--and more accurately--how do I decide what cores I want to be assigned for specific functions? The default has only one core set for #3 (which is currently always running a 100% CPU load); would setting two cores for that be better? The default has no cores that aren't assigned for P3D; would setting a core for CPU Core and then using FSUIPC to assign that for ActiveSky and Chaseplane (both of which I have and use) be useful?

This is the part I'm struggling to understand.

Share this post


Link to post

@Masterius, it’s been a while since I did this so my memory is a little shady.

65535 equates to all 16 logical processors being used. That’s not ideal.

It may be best if @MammyJammy helps you. Programs like FSUIPC and ChasePlane can be assigned to the last LP as they require few resources.


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

@Masterius, I've just looked at my settings in Prepar3d.cfg. They are:-

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

4053 equates to 111111010101

Readng from right to left that equates to only one of the first pair of processors in use; likewise for the second and third ones. Using both virtual processors is not recommended. The remaining 6 VPs are assigned to scenery loading and other executables such as ChasePlane, Active Sky etc. I assign most of those to the last two using SimStarterNG.

Try 65493 which equates to 1111111111010101

Reading that from right to left is first three LPs use only the first one of the pair. That equates to the P3D Core Affinity setting.  The remaining VPs are used for scenery and other processes.

Ideally setting the AM for those requires SimStarterNG,  ProcessLasso or the [Run] feature in FSUIPC. I use the former and have little knowledge of the latter two. There is a good manual for FSUIPC which should assist.


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
On 2/22/2023 at 12:47 PM, Masterius said:

I have to say, it seems that the one thing that influenced things the most was ensuring that P3D was installed on a high-speed SSD reinstalled.

I think that made the biggest difference.

Cheers!


Luke Kolin

I make simFDR, the most advanced flight data recorder for FSX, Prepar3D and X-Plane.

Share this post


Link to post
59 minutes ago, Luke said:

I think that made the biggest difference.

 Not in this case. The AM setting is the problem. Reinstalling won’t fix that.


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

With your hardware as listed, I would do the following:

  • Disable HT (hyperthreading which will give you some additional OC headroom), P3D will not benefit from more than 8 real cores.
  • Use RTSS to lock frames to 30 if you're monitor is unable to work at 30Hz or introduces too much latency, set unlimited target (as suggested)
  • Installing to another SSD/drive will make no difference for P3D so long as your existing drive can operate 200MB/sec sustained (used to be significant many years ago but not today and not with your existing hardware)
  • Setting the Job Scheduler will make a difference and will work better with real cores (HT disabled), you'll need to experiment as results can also be OS dependent (Win10 vs. Win11) and if Hardware-accelerated GPU scheduling is enabled.  Basic idea is to stay off core 0 (leave that for OS tasks) and use your best cores 1-7 (I think that CPU does provide best core indicators) ... stagger the cores based on physical die layout of cores as to provide for better heat dissipation.

Most important with that CPU is to disable HT.

 

 

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