I posted the explanation below in another thread a while back to explain in the most layman terms how multitasking in a game works. Keep in mind games are a very linear process (if A then B) that don’t lend themselves well to multithreading like productivity workloads like video rendering. In that latter case, a set workload is divided up by how many CPUs / core / threads you have. There’s no logic dependency involved. 8 cores? Video is broken into 8 chunks and fed to all 8 threads that will process it independently in parallel. Pretty simple by comparison to a linear experience like a game.
MSFS has actually done a pretty good job so far of distributing workload across cores / threads when possible. THere’s likely room for improvement, but there’s only so much that can be done due to it being a linear experience. That doesn’t lend itself well to parallel processing. There’s a reason why had 4+ core CPUs for well over a decade now and just starting to see games that use more than 1 or 2 cores…
The basic explanation:
You can compare the CPU package to a team of people. There’s 1 person at the top (supervisor - main CPU / core / thread) who coordinates all the work for the team under him / her (rest of the treads). All work going in or out of the team MUST go through the supervisor.
Work comes into the supervisor, who coordinates and schedules the tasks and hands off the work to team members below for execution (other threads). The supervisor still has to coordinate all the work being assigned to the team, and then collect, reassemble, and deliver the work handed back by the team members.
In the end, the work coming out of the team can only be passed in and out as fast as the supervisor through which all the workload is funnelled. Having more team members under the supervisor helps alleviate some workload, but ultimately, the supervisor is still the bottleneck in the operation and will be the most heavily tasked while team members will have much lighter workloads.