I have a i9-9900k and if I look to the task manager processing during msfs2020 then I see
0 core almost zero and core 15 full loaded and the rest a little bit.
what does it mean , what can I do to get more an average divided over the cores. has that to do with affinitymask?
in the area of airports the developer mentioned limited by cpu. overall it is loaded total 25%
have not a clue how to read this information.
could someone explain a little to me.
I have a i9-9900k and if I look to the task manager processing during msfs2020 then I see
Type CPU load in the search window and you will find all your answers to this topic.
Windows keeps track of processor utilization and assigns processes/threads accordingly. Let Windows do what it is designed to do.
this is called the “limited by mainthread” ‘thing’… you can do nothing.
It depends on the application it self how many of them are used and how “actions” are splitted into small-pieces-of-doings which can be parallized.
Of course also not each “action” can be splitted into many “sub-tasks” and then also a 5 million core cpu is not faster.
What you see looks like for most of us and we hope that new implementions like coming DX12 will made it bit better. So… don’t worry
And no… with the affinity you can as exmple ensure that a application x don’t use core y. Or you can shift the load ot a core…
example with an image:
but as @PacificSet90456 already said…
don’t worry about and let windows do that stuff … and the game developers…
PS.: and close the Developer Mode … ( as it say ‘developer’ )
Generaly, I think you can’t do anything. I notice that when I bought my 1st multicore CPU. It was i5 with 2C4T. When I played some games, overall CPU usage was around 50%, one core was 0-10% used, two cores was at 20-50% and one core 80-100%. And no ability to chnage it, that how win or software you use is made to manage CPU/core usage.
And my guess from my computers knowledge (I am not pro, but have some knowledge) is that some procesess can not be devided to different cores. But that deppends from how software is made.
MSFS is a DX11 game, single core application, so all the draw calls go through a single core (the one you see at 100%), then, secondarily, it delegate tasks to the other cores. Or something like it.
We have to wait for DX12 to be implemented to see tasks being shared by several cores at the same time. But they said that DX12 will not be focused on performance, then I think DX12 will bring Ray Tracing and some bling and that’s it. Perhaps they could share some tasks with a second core, but I’m not expecting much.
MSFS is a single core game. They resumed the FX 2004 code and gave it some layers of new stuff, but it is still a single core game just like most titles during the Intel “quad-core” era, when all that mattered was single core performance, hence why the i5-2500K became a legend.
Right now this main core is holding the game back. It was released already bottlenecked to the teeth. That’s where most problems comes from.
please confirm how you analysed this ?!
I see this on my ! 7 9700 as well . The problem is the cpu loading is on the wrong core . It should be on the first not the last otherwise turbo boost does not work . On 9700 you get 4.9ghz on one core only the first . Last thing you want is all activity on your slowest core 7 in this instance.
how do you get it into the first core (is that core 0)
probebly that’s the reason I see not more than 4.7 ghz
open taskmanager - details tab - Flighsim…exe - right mouse - Affinity - deselect core ‘latest’ … the 100% core-load jumps to another core (often 0) … you can activate now again the latest core.
I use the Sync-All-Core setting ( it is kind of overcloacking !) and thus all my cores run in max turbo speed.
To check the former mentioned funny theory that this game is only a single-core game, you can deselect all cores and let only one for msfs… then we will se what happens if msfs is only a single core application
I have the same problem as you. Tried everything. Only solution to lower the last core is to upper the render scale to 140/150. Off course this will cost you frames.
I’m done with testing. Can not find a solution for this. Tried Game mode, Hags, G-sync on/off, window with dpi settings etc etc. Nothing solves this.
If you read my post you will see that I said: "MSFS is a DX11 game, single core application, so all the draw calls go through a single core (the one you see at 100%), then, secondarily, it delegate tasks to the other cores. "
So I was just saying it depends on the main core. Hardware Unboxed said it was “bizarre” that MSFS was a DX11 game.
Got it now?
where can find to adjust or set Sync-All-Core setting.
second question I have is : I install process lasso to adjust max speed but I dont see it.
okay… then was the sentence “MSFS is a singlecore game” a bit misleading.
yes, in DX11 there is, beside of hardware supported calls, a main thread which sync the graphic-request from tasks/threads. But this doesnt mean the app is in generally a singlecore app ( then all DX11 application would be a singlecore application ).
In DX12 can each thread/core send a request directly to the GPU ( queues for different workload ) , also without lots of api overhead. But this must implemented from developers,… things like syncing, resources, etc… - much more work. Somewhat like a main thread still exist, but its not longer responsible for syncing.
Beside of usage of Multi-Core for Graphics stuff, we also should not forget that there are other things where Multi-Core becomes important. Splitt some calculations, multiplayer stuff, file loading stuff, etc… and here we run into the limit what can be splitted ( similar that DX12 needs a lot of objects, if we would see some beneffit ). We just not render a video
I think we was all are a bit confused, that the newest sim on market was implemented with DX11 ( in special if we know who own directx ). DX12 is much more powerfull in knowing developer hands ( beside of this it’s made for multi-platforms ).
But, I noticed I wrote to much… I agree with you that main thread limit comes mainly from DX11 and additional how the code is implemented ( I’am pretty sure there a lots of optimizations possible ), but want be clarified that this not mean it is a single core app
it is a BIOS setting.
As mentioned, be aware : it is kind of overcloacking and if not sure about, don’t try it. You also should not overcloack CPU-frequency AND set Sync All Cores.
In my ASUS BIOS it is the following setting:
- Extrem Tweaker Menue
– CPU Core Ratio
— [Auto] [Sync All Core] [Per Core]
( note, I also lowered a little bit the cpu voltage, because ASUS settings go, in my opinion, hard into the limit )
I have no experiance with that tool , so I can’t say something about.
In my opinion usage of such ‘performance optimizer tools’ will change nothing.
A year and a half after the last post in this thread, I know. But even with the latest beta running DX12, I’m still experiencing crippling performance due to a single core being maxed out. With all the incredible innovation Asobo has made in FS2020, it blows my mind that this still hasn’t been resolved. It was the primary bottleneck in FSX as well. There’s got to be something they can do to distribute loads to additional cores. I’m not a developer, but I’d love to know the technical reasons of why this can’t be done.
Plenty of other games and simulators, especially modern ones, distribute equally to all my 18 cores. Examples - RDR2, DCS, Spiderman Remastered, God of War, CP2077, Dirt Rally 2, Universe Sandbox, etc. I’m half tempted to build a dedicated PC when the i9-13900k comes out since it’s rumored to have a 5.8GHz single-core boost clock. I just hate how few PCI-e lanes Intel’s consumer line has, I use all 48-lanes in my current rig and moving down to 24-lanes would be rough.
i9-10980XE @ 5GHz all core
64GB DDR4 @ 4.2GHz CL16
EVGA RTX 3090 FTW3 Ultra
Samsung 970 Pro 2TB
HP Reverb G2 - Primary VR headset (latest revision)
2Gb Google Fiber
Windows 11 Pro
I have a 11th gen cpu and all cores run equally at around 30% at full ultra. Research 11th gen to see why.
- Trade-offs in game scale
In game development, we generally decide on a target platform and optimize the game for that platform.
In the case of MSFS, the target platform is probably XBoxX.
(CPU 8Core16Threed 3.8GHz/GPU near then 3060Ti 12TFLOPS FP32/Mem 16G)
MSFS is anyway large in scale. In order to be able to handle a large scale, it is necessary to design for it.
It is difficult to extend a design that speeds up a small problem so that it can be solved by a large problem, so there is a trade-off.
Application parallelization rate
A processor that is richer than the target and does not speed up in proportion to the number of CPUs.
If processing is distributed evenly across all cores, it will not be fast in all cases.
As the size of the software increases, the number of areas that can be parallelized decreases, making it more difficult to improve speed.
Amdahl’s law is presented as an example of the rate of speedup when parallelization is used.
Existence of automatic overclocking
Modern CPUs are automatically overclocked without user control.
Since the clock increase is greater when there are fewer active cores, it is often faster not to distribute the processing, depending on the nature of the processing.
Example of reversing the number of processors and FPS
This is a chart of the CPU load factor over time as I flew a particular course at MSFS.
The FPS was faster with 8 cores (SMToff) than with 16 cores (SMTon) in all areas.
Of course, this is not the case in all cases, as the load is much higher in VR, etc., but I am attaching it as an example.
If you are interested in courses, etc., see another thread.
Turn HT off, its not necessary to split physical cores into imaginary ones for msfs although the resulting loss is small.
Cool your 9900k well and then give her spurs.
and loose a good cpu feature… there is normaly no reason to disable HT.