Jump to content
Sign in to follow this  
jmig

FPS and CPU/GPU loading in PD3 V4.1

Recommended Posts

On 10/23/2017 at 6:31 AM, SteveW said:

The thread manager does not live on core 1 or core zero. Also there will come a time when there are just too many cores even without enabling HT, so they would be limited to requirements in many cored CPUs.

I'm pretty sure it does.

Share this post


Link to post

Processes don't have pre-specified homes.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
1 minute ago, SteveW said:

Processes don't have pre-specified homes.

The main thread lives on core 1.  The process manager is in the main thread.  You can't move it.  If that gets bogged down everything gets bogged down. So keep everything not P3D off of core 1.

 

Share this post


Link to post

So you are inferring that the more things going on in the PC the bigger 'that process' becomes? Tsk.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Just now, SteveW said:

So you are inferring that the more things going on in the PC the bigger 'that process' becomes? Tsk.

I know so.  Not just because I've wrangled threads in MFC myself.  You can find plenty of old threads in this forum that talk about this fact.

 

Share this post


Link to post
2 minutes ago, denali said:

I know so.  Not just because I've wrangled threads in MFC myself.  You can find plenty of old threads in this forum that talk about this fact.

 

What is MFC?

Thanks,

Share this post


Link to post
2 minutes ago, denali said:

I know so.  Not just because I've wrangled threads in MFC myself.  You can find plenty of old threads in this forum that talk about this fact.

 

I'll stick to reading about those facts over on the Microsoft site then.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
2 minutes ago, Dirk98 said:

What is MFC?

Thanks,

Microsoft Foundation Classes.  Back when you had to do it all by hand and had to understand what was happening with memory. 

 

  • Upvote 1

Share this post


Link to post
On 10/21/2017 at 3:00 AM, SteveW said:

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.

Any idea why did SteveW rather suggest AM=4094 (11 11 11 11 11 10) over AM=4093 (11 11 11 11 11 01)?

Are there any additional subtle benefits to consider in this(4094) AM over (4093)? 

Thanks, 

Share this post


Link to post

Things can pan out slightly differently but not that it's going to make any difference. Since if the jobscheduler is looking at the next LP to start a process when we have HT enabled the next LP may be on the next core or just on the next LP of the same core.

 


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
On 10/21/2017 at 3:15 AM, 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

See, again SteveW suggests AM=4088 but not 4084 (111111110100)?

Why? Is it because of some "good practice" or something else?

Thanks,

Share this post


Link to post

Because there's some cores being left free to assign addon exe apps and processes.

Remember that if we have too many cores or LPs assigned memory bandwidth is more readily consumed. So with the six core we might get better performance with only 4 cores assigned depending on the performance of the board.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Few cores means we must mix addons and sim on those but we can avoid addons on the main core of the sim. With more cores we can allocate more for the sim or we can instead simply move addons onto free cores and keep the sim on four or whatever.

 


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
10 minutes ago, SteveW said:

Few cores means we must mix addons and sim on those but we can avoid addons on the main core of the sim. With more cores we can allocate more for the sim or we can instead simply move addons onto free cores and keep the sim on four or whatever.

 

Sorry, Steve, I don't understand yet how it answers my question about the difference between 11111111110100 and 111111111000 allocation and I get very annoyed with myself because of it.

Thanks!!

Edited by Dirk98

Share this post


Link to post
On 23.10.2017 at 8:48 PM, orbmis said:

Hi Steve,,

So with a quad-core processor, w/ hyperthreading ON, one would use a AM  = 254? Is there functionally any difference between AM 253 vs 254?

Mike

 

 

Somebody asked a similar question already.

On 23.10.2017 at 8:57 PM, SteveW said:

Yes we might use such an AM. Those two AMs amount to exactly the same thing to the sim.

Is that right? Are they exactly the same thing to the sim?

Then why do you rather suggest 11 11 11 10 over 11 11 11 01? (for 4core HT On)

or 11 11 11 11 11 10 over 11 11 11 11 11 01? (for 6-core HT On)

Thanks!! 

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