if you’re not a developer, it will be quite hard explaining all this even in layman terms. But you can try already in your example above compare F2020 running like you did, then in changing its affinity mask to using only 3 or 4 cores instead of 8 and see whether this changes anything (fps/stutter wise)
Flight simulator runs on 5 cores but at 90% on one core it is necessary to have as many Mghz as possible. for info I just went from an i78700k @ 5ghz (580 points on CPU-Z) to a Ryzen 5800x (665 points on CPU-Z) and I had a gain of 25% on Roissy CDG Piste r26 in A320, I go from 38fps @ 50FPS. Despite that you have to wait for the directx 12 optimization to gain a little more performance, there will be better multicore management but do not expect a breathtaking gain, I think we will only gain 20% more.
The processors to be preferred today, the high frequency intel processors, the ryzen 5000, not the 3000 because in single-core they are bad and especially the future intel 11900k which will be the top this year for FS2020.
To know if you are limited by your processor and not your graphics card, you just need to lower the resolution of your screen, if you still have the same number of FPS whether in high resolution and in lower resolution it is because you are CPU limited.
In my case I am GPU limited in 4k at high altitude with a rtx3080 and CPU limited at low altitude. In 2k and FULL HD I am still CPU limited.
I invite you to do a CPU-Z test to see the performance of your processor in single core
You are right, I am not a developer and the more I try to understand this,
it seems the worse I get in understanding.
CPU-Z Benchmark (x64 - 2017.1) Best CPU performance - 64-bit - January 2021
CPU--------------- Single Tread-- Multi Threads
i7-9700K/8C8T------ 547----------- 4191
i9-9900K/8C8T------ 545 ---------- 3779
I couldn’t believe that a 9700K beat a 9900K and I bought a new Z390 MB and 9900K to loose processing power.
Then I figured out the need to select 16 vs 8 threads on the chart.
i9-9900K 8C16T -----NL----------- 5512 where NL = not listed
Although the 9900K does Hyper-threading and 9700K not, I guess this does not make any difference in CPU performance. Assuming Multi Threads on the chart does not mean Hyper-threading.
But when the 9900K came out, Intel said it was the fastest gaming CPU and was not challenged.
So why look at all of this? I can’t see why.
As you all have stated, FS2020 only processes with one main core/thread.
Save a lot of money.
Stay with your 9700K and MB.
Fly FS2020 and be content from a pure FS2020 context.
Note that I did buy the 9900K also for Hyperthreading and other Applications.
Fastest Gaming CPU does mean Fastest Gaming but has nothing to do with
But 1 final point and 1 final question: I promise.
Why in the world would ASOBO spend the Millions of $, Talent/Manpower
and Investment to develop a new Flight Simulator on a program that only uses the capability of a CPUs 1C/1T to provide a rather very complex program?
Granted, the GPU provides the Video processing.
My initial statement that has never been answered.
I did see from 9700K 4.7Ghz to 9900K 4.8GHZ
An increase in performance (FS2020 DEV showed the CPU stopped displaying CPU throttling).
The NVidia GTX 1660TI displayed new improved colors and graphic details that no one will accept I really see on a TCL 4K HDR 65 inch QLED TV in FS2020 4k Ultra with smooth CJ4 handling (IFR/ILS) and smooth graphics at 11 to 17 FPS.
CptLucky8, I would really love to understand this but I guess it would be better to let it go.
Thanks again for your responses. Bless you for your patience and desire to help me understand.
I still love FS2020 and love flying it. Thank you, ASOBO…
Well, there we have it again…
We can struggle as much as we want with benchmarks, CPU’s, GPU’s…
The problem lies solely and exclusively within the faulty graphics engine of MSFS.
I hope this should be clear by now…
I have seen the “1C/1T” assertion many times. I decided to test this by limiting MSFS to running on only one core. If MSFS only uses one core, then there shouldn’t be any difference in performance. I used Task Manager to verify 1C/1T. The processor utilization running MSFS was 100% throughout the test. I cancelled the startup test after 45 minutes. It had gone as far as the USA update screens. The next test was done while in-flight. Again the processor utilization for MSFS was 100%. I cancelled this test after about 15 minutes because the screen had not changed. During these tests, MSFS used a much smaller amount of real memory. The GPU was at 0%.
My processor is an AMD 9 3900X running at 4.25 GHz. Other processors may have different results.
I was reading another Post that had a lot of info about the
one main thread processing of FS2020. It answered a lot of my doubts
about this program execution.
I owe ASOBO an APOLOGY. It applies to all games and flight sims.
Point 1 Answered
If you are interested in the FS2020 concept of only one main core/thread processing,
this is a great topic:
you can’t spread the load from the ‘main thread’ to other threads. One of the main jobs of the main thread is to keep all the other processes synced up, so it can’t be spread out.
Asobo are still optimizing this, and are trying to move as many other loads over to other threads, but every process moved, will always have an effect on the main thread, since it’s yet another thing to keep synced up with all the other ones.
The developers talked about that during the last event on twitch, they said they already tried to use all cores on the CPU but there is still work to do. I have the same issue and I’m wait for the patch ASAP.
You don’t understand how multprocessing works. One software thread (like the fabled MainThread) can only run on one CPU thread at a time. Depending on OS scheduling this thread may run all the time on a single core (showing it as “pegged” at 100%) or sometimes it is constantly moved between the cores for example to spread the heat (showing a 25% usage on each core if you have 4 cores). The operating system tries to run threads on their own physical cores if using hyperthreading. Hyperthreading may look like two full cores, but running two threads on a hyperthreading core maybe only gives 30% actual performance improvment even if monitor says 100% usage.
It won’t, don’t listen to him, he doesn’t understand how things work.
By increasing resolution you put more load on GPU which leads to GPU bottleneck. So if the game is bottlenecked by CPU and if you increase the resolution at some point you will reach a resolution where your GPU becomes a bottleneck.
So switching to 4k you’ll get less fps, more load on GPU and less load on CPU because there will be less frames to process.
For now it’s CPU limited and you can’t do anything. Cores don’t matter, only single thread performance matters.
With a game like FS, there is one thread that is in charge of everything that is calculated and tasked. That thread is called the world thread. In FS terms, it’s the MainThread. The main thread asks for a flight model calculation, asks for files to be loaded, asks for memory to be copied, asks for data to be calculated from the multiplayer engine, tasks the ATC engine to make decisions and everything. Those other tasks can sometimes be delegated to other threads. You can load 10 files at once from the hard drive instead of waiting on one by one depending on some factors, but each file loading may use a different thread to do so. Until all the tasks are completed by the workers, the MainThread can’t move on to the next step.
The main thread will always be the limiting factor for most games, and especially for more complex (racing/flying) sims. The main thread keeps the tasks that have been offloaded to other threads in sync. It doesn’t work like for instance a tile-based renderer, where it doesn’t matter that 1 tile is rendered before another. In a sim this can’t be done, and it will therefor never utilize 100% of all cores.
Stating that it only uses 1 or 2 cores is complete nonsense, it uses around 8-12 threads currently. It’s just that the core that’s running the main thread is having the heaviest load, and is the limiting factor.
As already mentioned…
We can struggle as much as we want with benchmarks, cores, CPU’s, GPU’s…
The problem lies solely and exclusively within the faulty graphics engine of MSFS.
I was hoping that this should be clear by now, due to the overwhelming fact that other simulators,
like DCS, and at least a half a dozen of other games, all maxed out and running at 4K run in a perfectly fluid manner (60 FPS solid and constant) in my rig…
Mainboard: ASUS Maximus X Hero Intel Z 370
CPU: Intel Core i7-8086K @ 4.0 GHz
Memory: 32GB Corsair Dominator Platinum DDR4-3000
Graphics Card: ASUS NVIDIA GeForce RTX 3080 10GB
Monitor ASUS PA 329 32" @ 4K
1 SSD Samsung 860 PRO 256 GB
1 SSD Samsung 860 PRO 4 TB
Windows 10 - 64 V. 2004
CH Pro combatstick, throttle and pedals
Wow, I would like to have a CPU with 127 threads running. That’s impressive.
What is it and where can I buy one?
(Assuming that I will be able to afford it.)
The title says Worker Thread so I also assume that this is the 'Main Thread" which is a physical thread which is scheduling the processing of all that need to be done for the program. Software events and not physical.
The Name column shows 'flight simulator.exe thread".
I wonder if the column was expanded, if it would list the actual physical thread number?
You already have one, and it can run 10000 easily!
Look in task manager. Shows the total amount of threads running on your PC.
Just remember, a thread does not have to use everything single bit of CPU it can, 99% of them dont. They just wait for something to happen, and this literally uses no CPU.
There is no such thing as a physical thread. It is a logical core. And the OS deals with scheduling them how it sees fit. If you program starts a thread, unless you specify affinity, it will run wherever the OS choses. I am not even sure you can determine what logical core it is running on in that case.
The confusion came in when Intel called it HyperThreading ™.
You can think about a thread as an owned software process. They can be killed just like normal processes.
It is an i7-7820X (about 4 years old now). Got it just before the 9900K came out, which would have been a lot cheaper and faster if I only waited 6 months (but check out the size of the L2 cache! I think that is what drives the cost up)