Limited By CPU / Limited by main thread /wo 100% Single Core Utilization - Why?

The Windows scheduler still drunk on my i7-10700K (8c/16T), MSFS still heavily use my physical core #8 (thread 14 & 15 at the same time, so first “internal” collision of both logical threads) when other cores are nearly idle, and the Oculus OVRServer use also this physical core #8 (and some of #7) so I have another cores collision which made the Sim CPU bottleneck, core #8 reaching 100%.
I used to “fix” this using Process Lasso to separate both Oculus and the Sim threads and saved fps an lower my stutter a lot, core #8 can be below 85% usage in that case, but I hate to have to do this and stopped, not part of my player job! :wink:

1 Like

I have the same issues with a 9900k and 2080ti…running on 2560x1440 (would have triples but that’s out of reach). To be honest I simply stopped using FS2020 because of the poor performance. And I do not have the patience anymore to configure the s*** out of the settings.
So I am just waiting, hoping it get better with future updates.
PS: average FPS with +/- medium settings is around 35-40 fps

1 Like

Same here unfortunately. :unamused:

My 8700Ks overall usage is 35-40%. The last logical core is being used up to 90% (never 100%). The other cores/threads are loafing around doing barely anything.

My RTX 3080 is also sat doing nothing unless there is a major thunderstorm.

45-50 FPS.

So I’m not sure where the bottleneck is.

1 Like

All depends on what you’re looking at.
If you’re saying your RTX3080 is sitting there doing nothing, it’s because;
a) your CPU can’t provide enough frames to the GPU
b) you’re not running at 4K, but let’s say 1080P. This sort of workload is easy for the 3080.

So if you want more GPU utilization; increase settings or resolution.

Most likely though your bottleneck is your CPU, and you’re main thread limited. Like all games and sims, it really relies on fast single core performance. The main thread is eating up that 1 logical core, and is limiting all other factors. The other cores are doing work, it’s just that the single core speed is the limiting factor.
Don’t expect a game or sim to fully utilize all cores. It’s simply not the type of workload that can do that.


I’m definitely maxed with my 8700k with the setting on the high side of things. The latest glitches really ate away at my little buffer there. Now I’m looking at an upgrade to get the max CPU core speed I can get since that’s what the sim really runs on.

Please refer to Performance Degradation with Upgrade

It is a problem with the current update. Has nothing to do with your machine.

The Good news I get around 38 - 58FPS. The Bad: I still get the Limited by Mainthread. With target frame rates why is the heading in red?

Don’t worry about it basically. There will always be a limiting factor, otherwise you’d be seeing 99999 FPS. In most cases it’ll either be main thread or GPU. As long as it’s smooth, and you’re happy with it, don’t stare at FPS meters.

1 Like

I usually don’t use these dev tools but just like using diagnostic tools they should lead us to solutions to get the best performance from our hardware. If the tool tells us things like CPU and GPU is limiting perfomance then we should be able to make the adjustments that minimize these bottlenecks.

What would you expect? If your CPU is the limiting factor, the only way to get better performance is by
a) dropping your settings
b) upgrading your CPU.

After a certain point the CPU will just be at its limit though (100% main thread load), and there are no more FPS to be had. You’re on 50 FPS, which is about as good as can be expected from current hardware. Maybe you’ll get more with a system upgrade in 2 or 3 years.

Some examples of CPU loading settings are the glass panel refresh rate and the objects render distance slider. Are you expecting a simple FPS monitor to tell you which settings to adjust?

You do know the object rendering distance settings also just affect gpu and ram.Just telling you just incase you didn’t know. Increasing those LOD sliders hardly affect my CPU but it hammers my ram and vram.

I do know they also affect the GPU.

About the effect on CPU; you’ll find that especially in Photogrammetry areas the objects render distance slider is pretty heavy on the CPU side. The more vertices there are, the heavier the load.

Thanks for your reply. This is the kind of information I appreciate. My rig is Cyberpower circa 2013. I7-3820 OC @ 3.8 in a Asus P9X79 Deluxe. I have a EVGA GTX 1080 purchased last year. I just Upgraded my RAM to 32 GB XMP 2133. So now I’m contemplating swapping out the CPU for a I7-4960X. I’ve been Flight Simulating since 1987 and even then as high end as my hardware was at the time it always was under the curve. That’s why I’ve spent a small fortune on hardware upgrades through the years just to get that magic ultimte FPS. It would have cost less to go to flight school. (but then again you’re still around if you crash in FS which I’ve done plenty of times).

To everyone considering a CPU swap: I‘m also considering that, but chose to wait at least for the DX12 update. As has been pointed out many times, single core performance is the biggest bottleneck and this might (!) improve with DX12 for existing systems.
Only after testing that, I would consider upgrading again. And when you do, keep that single core speed in mind. It might only make a difference of a few hundred MHz which I bet does not result in huge FPS gains.

If I upgrade, I‘ll post the results here. Expect end of 2021 the soonest.

The key to eliminating the “limited by main thread”/CPU bottleneck is to move graphics processing away from the CPU to the GPU. The GPU should be running at 90 to 100% utilization pushing as many frames out to the monitor that it can. Selectively tweaking graphics parameters can shift the graphics processing to and from the CPU and GPU.

1 Like

Limited by main thread…

I’m also really frustrated. I’m using the following system and already tried the “Process lasso” trick (deactivating the Windows dynamic Thread prioritization) and deactivating cpu-virtualiziation in my bios, does not work for me…

Getting around 28 fps on 1080p with RTX 3080… yes max settings but thats with the latest up-to-date-hardware…

Does anyone have an idea to some sort activate multithreading by another workaround?

  • Intel® Core™ i9-11900K Processor
  • Windows 10 Home
  • NVIDIA® GeForce RTX™ 3080 with 10 GB GDDR6X
  • MSI® MPG Z490 GAMING EDGE Wi-Fi Mainboard
  • Seasonic® Focus GX-750
  • 1 TB PCIe SSD
  • 32 GB Kingston® HyperX® Fury RGB DDR4 RAM
  • Alphacool Eisbaer 240 120mm
  • Wi-Fi 6 AX201 mit Bluetooth® 5.1
  • Networkcontroller 2,5 Gigabit LAN (10/100/1000/2500 Mbit/s.)

Witch plan at witch airport?

I’m asking as I have nearly the same config, same exact MB, but RTX3070 and I7 10700K air cooled (Noctua double fan)and can achieve 60fps nearly all the time at 1080p too. If I use an Airbus at LAX obviously it goes down, but I can fly over Paris with the Cesna at 60fps, or Take off from Courchevel with the Diamond 60 fps.

Standing with a Cessna 172-Glasscockpit at EDVK - Kassel Germany.

Ok thanks. Just tried to have an idea of my performance. I’m not all on ULTRA as you’ll see below, I consider MSFS as future proof when I’m polite, and not optimized the other 99% of the time :upside_down_face:
More balanced settings (shadow, LOD 150, etc.) but can reach 60fps (vsync was ON, but I was in the fence 58/60 fps).

Date today, time 12:00, some clouds:

I agree with your machine you can hope better performance, but don’t blame your computer, it’s spot on. Blame MSFS for sure…

edit : The CPU limit me for sure, even OC at 4,9Ghz all cores. Displayed 20% CPU usage is the average, my physical core #7 is at 100%. 80% for GPU seems right.

Edit2: Just made the same tests same place weather etc. with different planes to see the impact on GPU, this time with vsync OFF:

Funny to see the small Cri-cri, really simple, limited by GPU, and others ones by CPU mainframe.

This is my cpu-consumption. I really have no clue but tried all the recommended settings mentioned above (xbox settings, nvidia, bios v-td, lasso…)