Sign in to follow this  
Cruachan

8 Core CPU Performance Data (FPS Delta) - Prepar3D v3.1

Recommended Posts

Hi,

 

There has been much discussion about Prepar3D and how it runs optimally on 4 Cores with Hyperthreading ON. I have an 8 Core CPU and this has not been my experience. Hitherto, my assertions have been subjective in terms of observed fluidity of performance and smoothness of on-screen frame updating and not supported by actual data. Hopefully this is now about to change :smile:

 

Application: Prepar3D v3.1

Addon: My Traffic Pro 6.0a

Front End: Ideal Flight 10 Professional (Preview)

Utilities: Air Traffic Manager, Process Lasso Pro (Allows easy changes to CPU Affinity Mask)

Hardware: See signature below

Display Resolution: 2560x1440x32

Graphics Drivers: GeForce 361.91 WHQL

 

NVIDIA Inspector:

Antialiasing - Mode = Override any application setting

Antialiasing - Transparency Supersampling = 4 x Sparse Grid Supersampling

 

Prepar3D:

MSAA = 4 Samples

FXAA = Off

Texture filtering = Anisotropic 16x

Texture resolution = 2048x2048

VSync and Triple buffer = Off

Target frame rate = Unlimited

Tesselation factor = High (85)

Road Vehicles: 0

 

Methodology:

 

A test flight was created using the Beech Baron 58 positioned at KSEA facing towards downtown Seattle, Initial heading: 002 degrees, Altitude 2000ft above the threshold of Rwy 34R, Weather: Clear Skies, MSI preset to 180, Autopilot: ON, View: Outside facing a little above the nose of the aircraft looking back, Sim Paused.

 

This ensured that I was able to reproduce the flight exactly each time for every test. When unpaused the Baron would fly an arc to the right until it was facing due south. The time taken to assume heading 180 under autopilot control was approximately 60secs and the rest of the flight was straight and level maintaining a height of 2000ft. The duration of each flight/test was exactly 2 minutes.

 

Ideal Flight 10 Pro allowed me to create the required data set which could then be displayed as a bar graph in Excel. It also allowed me to restrict the flight time to 2 minutes and, in addition, I could ensure that no unwanted weather injection occurred. Prepar3D can be run from IF10 Pro to the P3D Scenario Startup Screen thus enabling the loading of my prepared test flight.

 

Once the test flight was fully loaded I would spin around the aircraft a couple of times (using the keypad) to ensure all required scenery textures were fully loaded. Air Traffic Manager was started and time given to optimize - Target aircraft count: 30

 

The sim was then unpaused and the flight would proceed until paused automatically by IF10 Pro after 2 minutes had elapsed.

 

RESULTS:

 

(1) 4 Cores, HT = On, (01,01,01,01,00,00,00,00), Unlimited frames
4CoreHTOnUnlimited.jpg

(2) 4 Cores, HT = Off, (1,1,1,1,0,0,0,0), Unlimited frames
4CoreHTOffUnlimited.jpg

(3) 8 Cores, HT = On, (01,01,01,01,01,01,01,01), Unlimited frames
8CoreHTOnUnlimited.jpg

(4) 8 Cores, HT = Off, (1,1,1,1,1,1,1,1), Unlimited frames
8CoreHTOffUnlimited.jpg

(5) 7 Cores, HT = Off, (01,01,01,01,01,01,01,00), Unlimited frames
7CoreHTOffUnlimited.jpg

 

Observed Frame Rates: 30-40 throughout test #5

 

 

Other combinations of core counts were tried along with/without using VSync and Triple Buffering and using NVIDIA Inspector to limit frames to 30 matched with the same setting in P3D, but none produced the fluidity of performance as achieved, quite evidently, with either 8 Cores, Hyperthreading=Off, Unlimited frames or 7 Cores, Hyperthreading=Off, Unlimited frames. Indeed the latter appears to be producing the best results both objectively and, yes, also subjectively :wink:

 

Mike

  • Upvote 1

Share this post


Link to post
Help AVSIM continue to serve you!
Please donate today!

Mike, what is the four core HT on AM you used?


There is not enough information about those tests, since four core HT on can produce terrible results with the wrong AM. Can you show exactly what AM are you using for each graph please.



Results here shows 4 core HT on performing better than 5, four core HT ON at the top, 5 core HT On, 4 core HT off, finally at the bottom, 5 core HT off:

P3D4v5core.jpg


And that's with around only 3-5fps Delta.

Share this post


Link to post

Mike, what is the four core HT on AM you used?

 

Hi Steve,

 

21760=(01,01,01,01,00,00,00,00)

 

As I mentioned, I used ''Process Lasso'' to change the Affinity Mask prior to each test. Saved having to fiddle around with Prepar3D.cfg.

 

Edit: Note addition above each graph in original post.

 

Regards,

 

Mike

Share this post


Link to post

Ahh right, I wondered what the problem was. I'm afraid you must allow P3D to start from it's own AM unfortunately you cannot move it. Are you starting P3D with IF10 Pro? In the config.ini [FSSetup] set ExpandFSAffinity=False.

 

They way you are doing it, you are cramming 16 P3D jobs onto four LPs making four core HT enabled by far the worst performance.

 

Everything you are doing is brilliantly organised. Except you must put a [JOBSDCHEDULER] section and allow the sim to start up with that value, do not lasso it or change it in task manager.

Share this post


Link to post

You guys sound pretty smart. 

I just on AM in the cfg and I turn HT off on my 6700K and my sims runs perfect. 

Share this post


Link to post

You guys sound pretty smart. 

 

I just on AM in the cfg and I turn HT off on my 6700K and my sims runs perfect.

Yes, on a four core that's pretty much ideal for P3D (and FSX), however with HT off you do actually lose around 3-5% throughput overall which is hard to spot, but the PC is a bit sluggish. Don't waste the HT mode, turn it on and put an AM of 85 or 170.

 

 

I thought that if Process Lasso was used, one did not have to use AM in the CFG.

Depends how it's used. When the sim starts with no AM setting, it makes one job per Logical Processor. On Mikes 8 core that's 16 jobs. Next lasso that onto 4 LPs, and those 16 jobs get crammed onto those four LPs. How programs are going to react with affinity changes is not easily understood.

Share this post


Link to post

So Steve,

 

I know this was probably addressed in the other couple threads related to AM, but...

 

I have a 4970k, with HT turned on.  So I have 8 cores avail, and with process lasso, have P3D running on 1,3,5, and 7. 

 

I do not have AM in my CFG.  I also have no other programs running concurrently with P3D.  Will it hurt me otherwise to put the AM line in the CFG, and if I do, is there anything special in which I need to add to make it mimic what I have process lasso doing, or not?

Share this post


Link to post

We should put the AM in the Prepar3D.cfg. But that depends on how proc lasso works.

 

When an app starts with its own affinity setting it lays itself out in the available affinity space. So with no AM the sim will see 8 LPs and run itself up in a particular way to handle those 8 jobs, or threads. If a process takes control subsequently, and reduces the logical processor count, those 8 jobs simply all get shuffled onto those LPs unmasked in the AM. That's not too good for performance and not the way the sim intended to run itself.

 

You could start proc lasso with the affinity you want the sim to start with, (assuming you can start P3D with proc lasso) then when it's lasso'd, the LPs don't change, or perhaps no need to lasso it at that stage, would need some tests. Maybe check the documentation. Mike's using an app that is specifically written to start P3D with the best advantage and does not move the jobs.

Share this post


Link to post

In Mikes example, with 8 core HT off P3D runs up on 8 LPs and is not shuffled onto less LPs, so that would predictably perform the best. With HT On and 4 LPs unmasked, that's 16 jobs shuffled onto four LPs, predictably the worst performance. All the graphs show a very poor Delta and if Mike can make the graphs with the fps - delta, we should see better performance with HT On. If we're not seeing better performance with HT On, there's something wrong.

 

Will it hurt me otherwise to put the AM line in the CFG, and if I do, is there anything special in which I need to add to make it mimic what I have process lasso doing, or not?

The best thing to do is start P3D from it's desktop icon with it's own AM, then use proc lasso so exe addons are moved away from the first core P3D encounters through the mask. Make a mask with four LPs (ones) unmasked, one per core. So a four core HT enabled would look like 170=10,10,10,10 and 85=01,01,01,01

 

keep the exe addons off of LPs 0,1 with lasso.

 

 

 

Three Cores:

 

We may have an addon that has periodic high energy bursts of activity, and we may not want that happening on any core the sim uses. That's a problem on the four core CPUs since we really want to use four cores for the sim. We can start the sim on three LPs with the use of AM's with values of 14=1,1,1,0 for HT off, and 84=01,01,01,00 for HT On.

 

With HT ON we have more options. We can allow the sim to split into four jobs with 116=01,11,01,00 - this unloads work from the first job onto the core with the second job. The second job in a P3D (and FSX) 4 LP configuration does the least work when the sim is pulling data, so it's not too unfriendly sharing a core with the third job. Below the three core 116 four job configuration outperforming the 5 core five job:

 

4v5jobs.jpg

 

Three cores better than five, and stonking performance from each anyway with very small delta, but outclassed by the setup with four cores four LPs given to the sim initially.

Share this post


Link to post

Hi SteveW, I run an older i7-980x  (6 cores ,ht off)  (@4.16) what  am you suggest I try ?

Thanks

Share this post


Link to post

HT On, AM=340 or AM=1360. 340 lends a little more bandwidth to other tasks like networking, so try 1360 first.

 

If you are keeping HT Off, AM=30, or AM=60 respectively for the above reasons. HT On does more work so whatever you do you will see more heat. But with the appropriate AMs shown, that heat is minimalized.

 

Mike, what I would do is get straight to the nitty-gritty. I would like to see with your 8 core HT ON the following AM's tested, 21760, 1360, and then 1360 with the config.ini [FSSetup] set ExpandFSAffinity=True. Thanks for a brilliant post. I'm amazed you've worked out how to properly set up the test harness in such a short time, very impressive.

Share this post


Link to post

...and Mike, when the scenario starts, don't move the view, this will introduce randomisation in the comparisons. You also need to be sure the view is exactly the same direction for each test. Just un-pause the sim and let it go, even the time the banner finishes will alter the comparison. Simply let the plane fly to turn a waypoint, the view changing will be encompassed into the test more naturally, and the same for each test.

Share this post


Link to post

SteveW, oops I forgot to add I use fsx Se. Would the am be the same?

 

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