How to correctly assign CPU sets with Hyperthreading on?

Started by toby23, May 22, 2023, 05:52:10 AM

Previous topic - Next topic

toby23

Could someone please let me know how to correctly assign CPU Sets in Process Lasso with the 5800x3D ?

If I have 8 physical cores and 8 additional threads, should I assign non-MSFS apps to the additional threads (8-15) or only to the physical cores (0-7)?

I'm using DX12, so Microsoft Flight Simulator 2020 is able to utilise all the cores, but it favours the main CPU cores, not the threads.

I would like to keep MSFS on the main cores and don't know if I can safely assign everything else to the virtual cores or not? Is that even the correct way to do it?

Thanks,
Toby

Jeremy Collake

The logical CPU cores (threads) are staggered, so it goes like this:

0,1 = physical CPU core 0
2,3 = physical CPU core 1
...

So each physical core has 2 threads, and neither is more real than the other.

You could try to keep MSFS on distinct physical CPU cores (so at most one thread of each physical core), but it sounds like it is already doing that, and should. That said, there's a process context menu item 'CPU Affinity / Disable Hyper-Threading', that will stagger the CPU affinity, constraining it to only one thread of each physical core.

You probably don't need to assign other processes specific affinities to keep them out of the way, but you could. I don't have a certain answer as to the *most* optimal setup for your situation.
Software Engineer. Bitsum LLC.

toby23

There is a noticeable stutter when the ATC voice loads in or AI aircraft are injected, for example, and I was hoping that by separating these apps from the MSFS app by placing them on different cores, might help.

If I understood you correctly, Cores 0, 2, 4, 6, 8, 10, 12 and 14 are the 8 'physical' cores?

Thank you for your help and for explaining how it works.


Scarebear

I have a 5800X3d 8 core 16 thread.

You ALWAYS leave SMTP on especially on AMD systems, the almost 20% extra performance is always better except in some VERY niece edge-cases.

I give all other apps including the OS cores 0,1 and 14,15

The rest i mage a named affinity i name "Games" and give it the rest of the cores.

This when measured with Nvidia FrameView and With a Nvidia Reflex compatible mouse through a compatible screen produces the best 0.1% low's and leaves the most headroom when I'm gaming.

Process lasso typically does a great job.

But this is for example the only way i can play Armored Core 6 with keyboard and mouse.

For some reason moving the mouse hooks 300 samples that all needs to go through Easy-Anti cheat tanking performance.

I have a 5800X3D paired with a ROG STRIX RTX 3090 - so the performance is there, the software and task scheduler is not every time.