Jump to content
Sign in to follow this  
jmig

FPS and CPU/GPU loading in PD3 V4.1

Recommended Posts

Mods, I am not sure where to post this, so feel free to move it if need be. I am posting here because it is a PD3 issue, and I don’t think it is strictly a CPU or GPU problem, and they have different forums in the Hardware section.

We all know that PD3 slows down when in congested areas. I have always assumed that the computer is getting maxed out. Only so many bits of information can be pushed through any given computer. So, I ran some performance tracking programs (CPU-Z, GPU-Z, and CPUID HWMonitor) while flying the Iris PC-21 over the Los Angeles area. I am running ORBZ, NASoCal along with Vector and Global NALC. As predicted the FPS dropped to 10 and below. Normally, my system keeps the frames between 20 & 30.

My question(s) are why are the frames so low in the screen shot when (if I am reading the apps correctly) the computer isn’t really being stressed? If I understand correctly, CPU Core 0 is maxed out (it often reads 100%). However, the rest of the cores are only about one half utilized. The GPU (a GTX 970) is basically idling with a load of less than 25%.

Am I understand this correctly? If so, why the low frame rate here? And, what can I do to improve the frames? You can see most of the hardware specifics in the scree shot. The RAM is 16Gb of whatever speed and type that was current three years ago.

i-pg9DMhb-XL.jpg


John
My first SIM was a Link Trainer. My last was a T-6 II
AMD Ryzen 7 7800 X3D@ 5.1 GHz, 32 GB DDR5 RAM - 3 M2 Drives. 1 TB Boot, 2 TB Sim drive, 2 TB Add-on Drive, 6TB Backup data hard drive
RTX 3080 10GB VRAM, Meta Quest 3 VR Headset

Share this post


Link to post

You can see CPU #0 at 98% and CPU #1 at 17%? well that 17% on LP1 is taken from the 98% on LP0. That's because #0 and #1 are the same core, two logical processors are the same core. The 98% is of that which remains after the 17% is had. So you can start by addressing that with an AM that turns off one of the first LPs 11,11,11,11,11,10 each pair shows two ones '11, the first core, the rightmost pair, show '10'. This is a binary representation of on LPs (1) and off LPs (0). 4094=111111111110.

We can see typically 17% on the second LP. This is arranged so that the second process that appears does not take up too much of the core. Using the Affinity Mask 4094 would give your main process (98%) the full 100% of the core. This is the process that more or less governs the peak fps available and can use all it can get.

Looking at the other LPs, they are not so badly affected by sharing those other 5 cores they all do what they can. Load a different scenario from a saved file and watch which ones max out then.

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Next you can look at what else is running alongside the sim, the exe apps, whether it starts before the sim or when after the sim is fully started can make a big difference.

A simple way to make room for the exe apps like for example a weather add-on, is to make a free core available.

Going back to the binary representation for your 6 core 12 LP, we could move the sim off of core 0 completely with 11,11,11,11,10,00 - on the far right two zeros '00' on core 0, then one pair in we have the '10' pair. 4088=111111111000 - three LPs missed on the right so that's both LPs of core zero, and one LP of core one. Now we get the sim starting process on LP 3, LP 2 is ignored, all of core zero is ignored as well.

In short a good starting point for the 6 core +HT (12LPs) is to use AM=4088 and leave the rest up to the system: 

C:\Users\Steve\AppData\Roaming\Lockheed Martin\Prepar3D v4\Prepar3D.cfg

[JOBSCHEDULER]
AffinityMask=4088

  • Upvote 2

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

VSync or Locked?

With VSync enabled in P3D Display Settings and Unlimited set on the slider, the sim will try to output frames at or near the refresh rate of the monitor, say 60Hz causes the sim to try to make frames at 60fps. A bit like a frame rate limit, so that with low settings you may see that main CPU 98% come down a bit.

Also we can use Locked fps on the Slider to manage the rate of frames.

Reduce the display features until that 98% is more like 88% and you have overhead CPU capacity to consume when the scene increases in complexity.

 

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Experts around here will make sure the addon exe apps use only particular LPs and search for the best use of LPs sharing cores or not.

They might also test their setups with Unlimited set on the slider but with VSync disabled so that the sim runs up to max and can be ascertained the available performance limits.

But after making tests they might then enable the VSync or set a locked fps on the slider when actually running the sim.

  • Upvote 2

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

So what's verdict here? Tweak or buy even more expensive hardware?  The OP HW is no slouch, but yet again the only truth is that there will be always a combination that will choke the sim.  The plane (Iris PC-21) is not a resource hog either (I suppose?).  Try flying the PMDG NGX here :anonymose:I am following this kind of thread with high interest, as I am still on the fence about P3D v4.  It seems like the conclusion is to get rid of stuffs.


Vu Pham

i7-10700K 5.2 GHz OC, 64 GB RAM, GTX4070Ti, SSD for Sim, SSD for system. MSFS2020

Share this post


Link to post

Get the best hardware affordable and make the best setup from it. We can at least try keeping unnecessary work off of certain cores demanding full use by the sim with the way addons run on the system, and with the AM when HT is enabled. But also remember that with P3Dv4 turning up those settings can crush the sim more easily than with v3. Best thing is to back off the settings until the CPU can maintain the throughput. All the while an LP is rammed up at 100% that's actually the sim slowing down as there's no available overhead.

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
1 hour ago, jmig said:

My question(s) are why are the frames so low in the screen shot when (if I am reading the apps correctly) the computer isn’t really being stressed? If I understand correctly, CPU Core 0 is maxed out (it often reads 100%). However, the rest of the cores are only about one half utilized. The GPU (a GTX 970) is basically idling with a load of less than 25%.

 

CPU core 0 maxed out means that your CPU IS being stressed.

P3D can only move so and so much work onto the next core, and the remainder of the cores are dedicated to scenery loading work.

As Steve said, keep the first physical core that P3D uses protected from other work, and stop P3D from using more than one LP on this core.


Bert

Share this post


Link to post

Good info here.

Would anyone recommend using Process Lasso to manage the core loading or is Affinity Mask enough? (One problem using Affinity Mask however is that GSX will stutter like crazy)


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

Share this post


Link to post

P3D with AM 

Addons either assigned to other cores by PL or by batchfile...

 

regards, Gerard


13900 8 cores @ 5.5-5.8 GHz / 8 cores @ 4.3 GHz (hyperthreading on) - Asus ROG Strix Gaming D4 - GSkill Ripjaws 2x 16 Gb 4266 mhz @ 3200 mhz / cas 13 -  Inno3D RTX4090 X3 iCHILL 24 Gb - 1x SSD M2 2800/1800 2TB - 1x SSD M2 2800/1800 1Tb - Sata 600 SSD 500 Mb - Thermaltake Level 10 GT case - EKWB Extreme 240 liquid cooling set push/pull - 2x 55’ Sony 4K tv's as front view and right view.

13600  6 cores @ 5.1 GHz / 8 cores @ 4.0 GHz (hypterthreading on) - Asus ROG Strix Gaming D - GSkill Trident 4x Gb 3200 MHz cas 15 - Asus TUF RTX 4080 16 Gb  - 1x SSD M2 2800/1800 2TB - 2x  Sata 600 SSD 500 Mb - Corsair D4000 Airflow case - NXT Krajen Z63 AIO liquide cooling - 1x 65” Sony 4K tv as left view.

FOV : 190 degrees

My flightsim vids :  https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0

 

Share this post


Link to post

The reason your GPU usage is low is because you Are not demanding that much from the GPU but more from the CPU, Add a bunch of AA and settings that are GPU specific and you will see GPU usage go up.  Also limiting frames will make the GPU usage lower as well.

  • Upvote 1

--Sean Hart

Share this post


Link to post

@GSalden

Thank you for your help!

I moved addons to cores 6 & 7 and for AS for P3D I gave it cores 4-7. I then checked to see what processes were running and moved all non-Windows related processes to 2-7. First test I did was loading up PMDG's 747 on runway 11 of Drzweicki Designs KEWR v2. This runway has you facing Lower Manhattan (in my case DDesigns NYCX v2). Loaded in with 40 FPS on a 34 inch ultra wide screen!!! I stopped right there! Didn't do any AM tweak.

 

DId a circuit using left hand traffic out of EWR. Averaged 37 FPS take off from 4R and landing 4L. Vram averaged 26%, CPU averaged 56% use. There were one or two stutters but with the high frame rate, they were completely bearable. Interestingly enough with the same settings in a smaller window, frames shot up to over 60... 60+ FPS in the NYC area!? I'll take it!

 

I'm going to enjoy flying the next few hours!

 

For reference I have a i6700 CPU @4.6. I have an ASUS STRIX ROG1080 video card and 16GB RAM. I'll share any other setting if requested but don't want to bog down the thread.


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

Share this post


Link to post
3 hours ago, GSalden said:

P3D with AM 

Addons either assigned to other cores by PL or by batchfile...

 

regards, Gerard

Hi Gerard. 

I some times do this manually after sim is starting up. I use HT off at the moment. 

Chaseplane is not happy leaving core 0 off. Stutter like hell. 

ASP4 is on a network PC but simconnetion should be moved for it? Do you know how via a batch? 

How do i move GSX and maybe Fslab Spotlights away from core 0?

Can you help? Guess fraps and Nvidia Inspektor can be moved to. 

Thanks Michael Moe 


Michael Moe

 

fs2crew_747_banner1.png

Banner_FS2Crew_Emergency.png

Share this post


Link to post
12 hours ago, jmig said:

why the low frame rate here? And, what can I do to improve the frames?

There sometimes seems to be an obsession here with frame rates. High frame rates may be important in most games but are not so much so in flight sims. What you're aiming for is smooth graphics - the frame rates are almost irrelevant. It doesn't matter whether it's 20 or 60 FPS, if it's smooth you don't need to worry. I would say that if you're managing to get smooth graphics at 40+ FPS, you're probably doing so at the expense of better settings. Turn things up until it stops being smooth and ignore the FPS!

  • Upvote 1

 i7-6700k | Asus Maximus VIII Hero | 16GB RAM | MSI GTX 1080 Gaming X Plus | Samsung Evo 500GB & 1TB | WD Blue 2 x 1TB | EVGA Supernova G2 850W | AOC 2560x1440 monitor | Win 10 Pro 64-bit

Share this post


Link to post
13 hours ago, SteveW said:

Next you can look at what else is running alongside the sim, the exe apps, whether it starts before the sim or when after the sim is fully started can make a big difference.

A simple way to make room for the exe apps like for example a weather add-on, is to make a free core available.

Going back to the binary representation for your 6 core 12 LP, we could move the sim off of core 0 completely with 11,11,11,11,10,00 - on the far right two zeros '00' on core 0, then one pair in we have the '10' pair. 4088=111111111000 - three LPs missed on the right so that's both LPs of core zero, and one LP of core one. Now we get the sim starting process on LP 3, LP 2 is ignored, all of core zero is ignored as well.

In short a good starting point for the 6 core +HT (12LPs) is to use AM=4088 and leave the rest up to the system: 

C:\Users\Steve\AppData\Roaming\Lockheed Martin\Prepar3D v4\Prepar3D.cfg

[JOBSCHEDULER]
AffinityMask=4088

Thank you Steve and the others who commented on my post. I will try your suggestion to use an AM of 4088, although I really don't understand how to get side running applications to run on a certain core. I don't even understand why Cores 0 & 1 or listed on the right hand side of your binary annotation. I am a hardware guy. I can build computers. I can design, build and wire up simulator cockpits,  But ask me to program and my brain goes catatonic.

I am not unhappy with my system. As I stated earlier, it usually runs in the 25-30 fps range. This is fine for me. As vortex681 stated, a fluid and smooth system is what I want. Not being unhappy doesn't mean I am happy, however,  I am human and humans are seldom satisfied. I am considering building a new computer. It will probably be either an Intel 8700 or an AMD 1900x Threadripper series CPU. I have also been wondering if purchasing a 1080 Ti GPU would help me get good frame rates with higher eye dressing settings? Thus the test I did yesterday.

I will post a screen shot of my settings. I think you will find that they are mostly about 60-70% of max. I run with minimum AI. If I understand the ZGPU readings and comments here, it seems the GTX 970 is more than adequate for the current settings. I do, however, run several outside apps.

This computer is running a cockpit that consists of one HD (1920 X 1080) projector, A 27" HD (1920 X 1440) touch screen monitor and two smaller monitors. One is an ELO 10" touchscreen and the other is a VGA monitor in an Opencockpits FMC. I use two GTX 970 cards to run this system. The monitor and and projector are connected to different cards. The two smaller monitors are also connected to different cards. So, each GPU has one HD output and a smaller lesser resolution monitor that will run external programs. At the time of the above test, only the projector was running PD3 graphics.

The external apps are an app to run the force feel side stick, Flight 1's GTN 750/650, IR Track, Go-Flight, and SIOC to run the FMC. I don't think any of them with the possible exception and the Flight 1 GTNs are CPU intensive? I also have REX Textures HD and Soft Clouds. Hover, it is my understand that these programs just change the textures in PD3 and do not actually run during sim operation.  I am OCing the processor using an ASRock application. I have tried to OC the processor using normal means but it will never boot. Using the app after booting allows be to go from 3.5GHz to 4.2 GHz. Anything more that 4.2 GHz will cause the computer to crash.


John
My first SIM was a Link Trainer. My last was a T-6 II
AMD Ryzen 7 7800 X3D@ 5.1 GHz, 32 GB DDR5 RAM - 3 M2 Drives. 1 TB Boot, 2 TB Sim drive, 2 TB Add-on Drive, 6TB Backup data hard drive
RTX 3080 10GB VRAM, Meta Quest 3 VR Headset

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