Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

A Frame-Time Analysis of P3D v3 -- Effects of CPU Affinity, Frame Lock, and HT

Featured Replies

  • Commercial Member

Paying intel $100+ for the pleasure of HT and turn it off is a bit defeatist. Surely, it's up to you guys to figure out the cause of your HT=On problems.

 

For example, with HT on we know an unmanaged app like P3D or FSX will simply put two jobs on the same core, scuppering their own main thread performance, forced to share a core with themselves causes sawtoothing. This applies to other apps too. If they appear on the cores of the sim they'll rob it of performance. If they interact in some way with the sim, could bring down that performance markedly.

 

But allocating 4 jobs as 4 cores for the sim whether they be HT cores or not, with nothing to interfere, produces the results you expect, HT performance is a shade better.

 

Testing with stock plane/scenery/weather is a must, addons utilising a per frame event like FSUIPC wind smoothing should be taken out of the equation or will also help skew the results.

Steve Waite: Engineer at codelegend.com

  • Replies 596
  • Views 171.1k
  • Created
  • Last Reply

But P3D has different code to manage thread handling than FSX. LM have made changes with this as stated several times by devs. That's why AM=0 doesn't work the same on FSX as P3D. Especially on AMD CPU's. I fear these analytics are trying to over simplify the whole process. There is a heck of a lot more going on than just AM and FFT.

 

We will never get a definitive description of how the rendering pipeline works and even if we did it would likely change between versions. 

 

People keep looking for a quick fix like "Which AM do I use with blah blah blah " or which FFT to use. Bottom line is there is no quick fix. If you want to hand tune your sim you have to run tests. This thread does go a long way into giving you the tools and methods to do so though.

 

There are always 1 of 2 possible situations. CPU limited or GPU limited,. Determine which applies to you and tune from there. I venture a guess that most people are CPU limited unless you are running a low end GPU. 

Steve McNitt
  • Commercial Member

Yes, absolutely correct.

 

If someone says to me they just can't find a solution with HT enabled and they get smoother operation with it disabled, then I say disable it and take the compromise.

 

Other things to try are allocating other cores to the sim with the AM, perhaps masking off core 1 or 2 instead of core 0. Core zero is always used in the examples as a free core, try another, it may make a difference some way down the line on a particular setup.

 

 

Don't let anti-aliasing get in the way during performance tuning. Always turn off AA for testing CPU performance with the sim, AA simply caps performance, puts a ceiling right through the results.

Steve Waite: Engineer at codelegend.com

  • Commercial Member

Hey Steve,

 

i have a question or more a thought :) 

 

What when the Core for the maintread has for example 4,7 Ghz and the 3 other cores have 4,5 Ghz. 

 

In this case the main schedule schould be "faster" then the terrain treads. Do you think that can help with performance ? 

 

brgds

It's not a daft idea. The main sim thread relies on the others running in the background collecting data. That can take many seconds. Meanwhile the main sim thread has to get on with something on an fps basis, and at the same time recover information from the threads. We can see that when we get blurry terrain with low FFTF settings, because the main sim thread is instructed to spend less time paying attention to those background threads.

Steve Waite: Engineer at codelegend.com

 

 


Do you guys get windows reactivation nags when enabling/disabling HT or cores in BIOS? I

 

No nags with Win10 ... but I may eventually be back with Win7 if I can't get to key issues resolved in Win10.

 

Cheers, Rob.

Paying intel $100+ for the pleasure of HT and turn it off is a bit defeatist. Surely, it's up to you guys to figure out the cause of your HT=On problems.Testing with stock plane/scenery/weather is a must, addons utilising a per frame event like FSUIPC wind smoothing should be taken out of the equation or will also help skew the results.

Hi Steve,

 

Of course, you are right. However, the way I see it HT=ON means, each core is having to share its resources with a second LP, if unmasked. This may be fine and, quite clearly, appears to work with a 4 cored CPU, as you have demonstrated. The more cores involved the more complex these operations must be with inevitable 'thrashing' of multiple threads if an application has not been designed to optimise multithreaded operations above certain known/designed limits. Such an application, I am assuming, is Prepar3D v3.1.

 

i cannot speak for 6-cored CPUs, but my experience with HT=OFF using the 8-cored i7-5960X is that P3D performance is generally better than with HT=ON. With hyper-threading enabled all 16 LPs, as viewed in Task Manager, are working and some more than others. This suggests to me that if all 8 cores are available to the sim without being hampered by resource sharing then the outcome in terms of overall performance will likely be better. My observations would suggest that this may indeed be the case. This may just mean that having 8 cores available is similar, but not the same, as using a 4-cored CPU with hyper-threading enabled. In other words, physical cores trump virtual cores and may be more efficient. However, many other factors could be at play here and my interpretation is probably far too simplistic.

 

You advocate testing under stock conditions. We all want smooth and we want it with our preferred Addons in play. Therefore, tuning for performance should include such Addons. I can understand why tuning under stock conditions would be desirable as any performance degradation like the appearance of stuttering could then be attributed to a specific addon as each is installed and as testing continues. However, many will have carefully installed several Addons with proven track records and may not have noticed any significant blunting of overall performance yet the stuttering, blurriness or whatever persists and, consequently, need help and advice to improve matters. Again, my experience suggests that the use of an unfettered 8-cored CPU has all but eliminated poor texture updating and stuttering in P3D. Yet, from Rob's figures, inter-core latency is less with hyper-threading enabled, so go figure.

 

The hyper-threaded environment doesn't seem to present any problems in certain other products and I was happy to discover that performance in GTA5, Project Cars, Elite Dangerous, Skyrim (with multiple mods) and Witcher 3 remains unaffected with HT disabled so no chopping and changing has proved to be necessary as I move from P3D. This may just be down to the mighty combination of an overclocked 5960X coupled with 2xGTX980s in SLI masking any coding deficiencies :)

 

Now, if video editing, 3D rendering or heavy muti-tasking was my main priority then the story, presumably, would be very different and hyper-threading would prove to be very advantageous and the preferred option.

 

Regards,

Mike

 

Edit: added sentence regarding inter-core latency at end of para 3

Mike,

 

Like I've said, my 12 physical core dual Xeon system runs no differently in P3d with HT= on, HT= off or any AM that is even remotely sensible. I spent weeks fiddling with AM only to realize that as was stated, the sim is either CPU limited or GPU limited and it's as simple as that.

  • Commercial Member

the way I see it HT=ON means, each core is having to share its resources with a second LP

HT On or off, where do you think 48+ P3D threads run? On those cores. But with HT enabled the task switching is faster. Whatever way you guy's like to put it,

 

there's too many jobs and there's an optimum number of jobs.

 

 

my 12 physical core dual Xeon system runs no differently in P3d with HT= on, HT= off or any AM that is even remotely sensible.

Of course it doesn't.

 

 

 

I spent weeks fiddling with AM only to realize that as was stated, the sim is either CPU limited or GPU limited and it's as simple as that.

Takes hours Jay.

Steve Waite: Engineer at codelegend.com

  • Commercial Member

Now using Process Lasso for affinity settings and finding it much easier to setup for P3D plus addons such as ASN. With this software you can tweak affinity in real time with the sim on and see the results of your actions.

 

Not my video but a good example;

 

Paul Grubich 2017 - Professional texture artist painting virtual aircraft I love.
Be sure to check out my aged cockpits for the A2A B-377, B-17 and Connie at Flightsim.com and Avsim library

i-5vbvgq6-S.png

  • Commercial Member

You advocate testing under stock conditions. We all want smooth and we want it with our preferred Addons in play. Therefore, tuning for performance should include such Addons.

You missed my point Mike. Obviously it would be stupid to suggest don't use your addons. What i'm suggesting is that you need a *baseline* to determine the affect of those addons.

 

 

 

Now using Process Lasso for affinity settings and finding it much easier to setup for P3D plus addons such as ASN. With this software you can tweak affinity in real time with the sim on and see the results of your actions.

 

Well done Paul, some of us are getting it, the rest will follow.

Steve Waite: Engineer at codelegend.com

  • Commercial Member

my 12 physical core dual Xeon system

Nice system. Why not run it efficiently with the best performance? Remember I said that we need four jobs on four cores optimally. Four is smoother than three or five. Remember that I've said many times there's little change in fps by changing AMs, mostly.

 

The only real problems appear when we don't have enough cores to distribute the apps and avoid the sim cores.

 

Remember the sim splits itself into one job per processor?

 

Then would that not inevitably collide the sim with other apps?

 

Doesn't make sense to run a 12 core like that, to be honest.

 

I would try HT enabled and an AM that enables four processors on four physical cores. Remember that if you're running a weather engine first that may occupy core zero or more but if you're running the sim first that will grab what it needs, and the jobscheduler will put your weather engine elsewhere, and loads of any stuff you're running. But without an AM HT On or Off you're colliding the sim with them.

 

So why not have a play with those 2 six core packages a bit, put three of the four jobs on the second with an AM=87040=(00,00,00,01,01,01 01,00,00,00,00,00).

 

I repeat, it doesn't really matter which cores are allocated as long as an active application is not running beforehand, then the AM can be used to avoid that activity, specially with 12 cores.

Steve Waite: Engineer at codelegend.com

some of us are getting it, the rest will follow.

Oh, I think I get it. My problem is understanding why it is that 8C/NoHT seems to work on my rig whereas 8C/HT/AM restricting to 4 or 4+ selected Cores does not seem to fair so well.

 

Mike....yay, I restricted my response to 3 lines!! Give that man a coconut :)

 

Edit: Process Lasso looks to be very interesting. I know it has been mentioned in passing a few times before, but your post, Paul 'warbirds', has encouraged me to take a closer look. Perhaps I can reactivate all those virtual processors and get my money's worth! Thanks for the heads up.

 

Drat, those lines have now increased by 4! :(

  • Commercial Member

My problem is understanding why it is that 8C/NoHT seems to work on my rig whereas 8C/HT/AM restricting to 4 or 4+ selected Cores does not seem to fair so well.

Why do you say it does not seem to fair so well Mike? So you have the 8 core and with 4 allocated LPs (that's what Intel and Microsoft call them), I would say it would be hard to detect a difference between HT Off AM=60=(00111100) or HT On AM=1360=(00,00,01,01,01,01,00,00) with the sim in stock trim. Adding addons increases the network i/o and so care needs taking with addons that demand high event rates, like TIR one per frame. A weather addon may spring into life and draw on a lot of throughput every 15 minutes or so and probably only affect one core.

 

...repeating...anyone looking for a hike in fps with an affinity mask doesn't get it. To obtain a 20% hike in fps with a 4GHz CPU, overclock it to 5 GHz.

Steve Waite: Engineer at codelegend.com

Why do you say it does not seem to fair so well Mike?

Sorry, I should perhaps have been clearer. I am referring to the presence or virtual absence of intermittent micro-stuttering rather than raw performance. The sim seems very smooth generally with 8C + VSync + Triple Buffering + Unlimited Frames whereas masking 4 cores (or none) with HT enabled introduces intermittent micro-stuttering.

 

Edit: Can I ask whether or not you have actually run any tests with the i7-5960X? As far as I am aware Rob is the only other member who has reported results with this CPU. Admittedly his setup is somewhat different in that he is matching his frame rate with a 4K monitor refresh of 30Hz whereas my monitor is refreshing at 120Hz and P3D is running with an in-sim Unlimited frame rate setting. It would certainly be interesting to discover whether others are sharing my experience. Otherwise I feel like I'm out on a limb with this one. I'm not challenging you Steve, in fact I have the greatest respect for all you efforts to educate us in this thread. Thus far, my experience has been somewhat different, that's all.

 

Regards,

Mike

  • Commercial Member

I don't get that kind of problem at all with my 4.1GHz3960x+GTX680. 4 core systems running these sims far outweigh 6 or 8 core system, there's no way you can say 4 cores is not enough. I would say the results of your testing is subjective. My carefully constructed, empirical, tests have been with ORBX, some big Aerosoft airports and the PMDG NGX, track IR and a weather engine. I found five cores reduced performance over 4. I've posted graphs around the forums. Even 4 jobs on three cores arranged carefully (AM=116) is pretty full on decent performance with that lot going.

Steve Waite: Engineer at codelegend.com

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.