[RESOLVED] Affinity Mask Recommendation?

Any issues, problems or troubleshooting topics related to computer hardware and the Prepar3D client application
Locked
User avatar
downscc
Posts: 1623
Joined: Mon Dec 01, 2014 5:46 pm
Location: KCRP

[RESOLVED] Affinity Mask Recommendation?

Post by downscc »

I think it is revealing that if you Google "affinity mask" the results include a couple of short technical items related to MS SQL servers and the rest are related to flight simulation. I've played with an affinity mask tweak over the years with both quad and hex core processors, and with regards to FSX I believe there is something to be gained. However, my experience with P3Dv4 on either a quad or hex processor is that no affinity mask tweak is the best. Of course this idea is attacked by many "experts" in the community, but I think there is only the placebo effect.

I note the Learning Center and SDK documentation is mum on this topic. Do you, LM or individually, have any recommendation for performance improvement that includes the use of the affinity mask tweak for P3Dv4? Is there such a thing as a quantitative analysis that either promotes or diminishes the use of an affinity mask tweak for P3Dv4?

Thank you in advance.
Dan Downs
KCRP
User avatar
Beau Hollis
Lockheed Martin
Posts: 2452
Joined: Wed Oct 06, 2010 3:25 pm

Re: Affinity Mask Recommendation?

Post by Beau Hollis »

The default behavior is to use all cores. The only purpose of applying an affinity mask would be to disable one or more cores. We don't recommend this, but we recognize that it may be beneficial in some cases. For example, there could be an add-on that communicates with another application. There could also be other unrelated windows applications running, that users don't want to close when they run Prepar3D. Higher fidelity training devices often rely on additional applications to perform simulation work. In that case, the system might be configured to allocate specific cores to specific applications. This can be done via OS settings, but the AM setting in the cfg makes it a bit easier.

The other use case that is often mentioned is to disable the hyper-threaded core that shares a physical processor with the primary thread. Sometimes doing a full workload on the HT core can slow down the primary. This is really chip and workload specific. We updated our job scheduler in v2 or v3 such that it typically uses core 1 without overloading it. In our tests, even with HT on, using all cores was typically better than masking off core 1 after the scheduling changes were made. Since then, we have not recommended custom AM settings.

One last thing I should note is that add-on dlls are considered to be part of the Prepar3D process. The AM settings will be applied to those dlls as well. Add-on developers may be creating their own threads and assigning heavy work loads to them.
Beau Hollis
Prepar3D Software Architect
User avatar
downscc
Posts: 1623
Joined: Mon Dec 01, 2014 5:46 pm
Location: KCRP

Re: Affinity Mask Recommendation?

Post by downscc »

Thank you very much Beau. You both confirmed my hypothesis and added to it.
Dan Downs
KCRP
Locked