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

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.)
1 Like

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…)

You are chasing a chimera.

First, this is their interpretation of their main thread occupancy.

Second, there are tons of reasons why their main thread can be fully occupied and this is all related with their logic. Without the source code, it’s extremely hard to figure out - it implies disassembling the code and it takes a sh1t load of time.

Third, if they are doing I/O operations in their main thread logic, the CPU has to wait for completion before continuing processing and thus, is wasting time. This could be one explanation of the apparent resource waste you observe. WARNING: [BEGINING OF USELESS TECHNICAL DISCUSSION] In theory, you can do asynchronous I/O and continue processing something until the I/O is finished but, this makes the code a lot more complex and presumes you have something else to do while waiting for the I/O. [END OF USELESS TECHNICAL DISCUSSION]

My friendly advice : It’s their code and there’s nothing you can do about it. Tune what you have direct control on.

2 Likes

Exactly, this was my intention, of course we can discuss the wildest and best FS2020 settings but there is a main issue with I/O and multithreading CPU-wise.

Really looking forward for DirectX12-Implementation.

My CPU is bored for no reason, exept one day XBOX is supported and hopefully they are working on DX12 looking at the current Update Roadmap and state saying: during (summer) 2021…

They already mentioned multiple times that DX12 itself won’t bring anything spectacular in terms of performance.
But they said that their changes and refactoring for XBox should give a significant performance boost or allow for better graphics without sacrificing performance.

2 Likes

I can’t find any consistency. Some things make a huge difference one day, very little the next day.
One thing well worth trying is to click the on-screen toolbar and turn buttons off. In particular, turn off the VFR map button, but try with them all off and re-enable them one ay a time to see what difference it makes.
On a good day, doing this gets me an extra 20fps or more.

Linear based processing, Not Tile based.
[end of useful non-technical discussion]

We all have to choose between incredible graphics details or FPS. In order to maximize FPS, the GPU needs to run at 90-100%. FPS cannot go higher if GPU is at 100%. In order to maximize graphics quality, the CPU should be running at 70-100%. When the CPU is at 100%, quality and details cannot be increased.

Also, if the GPU is at 100%, increasing the CPU processing using more cores or overclocking or changing the BIOS or adding more RAM cannot improve FPS.

To increase FPS, selectively decrease graphics parameters. When I decrease my LOD settings from 400 to 80 without changing anything else, the FPS goes from about 11 FPS @ 4k to about 33 FPS @ 4k. If I want the best 4k graphics that MSFS can deliver, I have to accept flying at 11 FPS.

I have only had one GPU, Nvidia GTX 1660 TI (6GB VRAM).
I only fly at 4K on a 4k HDMI display.
It has always ran at 100% all the time.

I started with an i7-6700K, 32 GB, Z370 MB, Multitasking
Upgraded to an i7-9700K, 32 GB, Z390 MB, non Multitasking
Upgraded to M.2 Samsung 970 EVO Plus NVMe SSD 500 GB
Upgraded to an i9-9900K, 32 GB, Z390 MB, Multitasking
Upgraded to M.2 Intel 665p NVMe SSD 1 TB
Upgraded to an i9-9900K, 64 GB, Z390 MB, Multitasking

I have constantly seen improvement in graphics detail but FPS has lowered with the Asobo updates as everyone has been complaining of.

This makes sense. Increasing graphics detail has to reduce FPS and if the MSFS update increases graphics detail the in order to maintain previous FPS, a user has to lower their graphics setting to keep the GPU running as close to 100% as possible. The problem with Asobo is that release notes may contain “graphics improvements” without describing possible FPS impact. I guess user expectations don’t match Asobo deliverables.

Just had a new experience with Display Screen Resolution.

Due to moving into a new house due to relocation,
I had to connect my little 32 inch TCL Roku display
to use until I get the 65 inch TCL Roku display installed.

65 inch - 4K 3840x2160 Native.
32 inch - 2K 1920x1080 Native.

No change to the FS200 General Settings.
Still 4K Ultra 100,200,200

No change to the GTX 1660 TI graphics settings.
No change to any PC graphics settings.

I am amazed as to how well the scenery display is on the 32 inch display. Almost as good as on the 4K display.

The cockpit guages were definitely more blurred
and harder to read.

Same here. Started seeing this after the 1.16.2.0 update. Everything was working great before that.

Same here. At least on the 1.16.2.0 update I have only 20fps and limited by Main Thread, CPU is Ryzen 5800x without any core going over 30% usage. :man_shrugging:

same here!!! I have the same configuration like you and is really bad the slutering and make me so mad

1 Like

How to check for " Limited by main thread" ?? I would like to check mine during a session.

@Skyvertical In Developer Mode. Go to Option > General > on left button near bottom is Developer > Switch to on > Apply & Save.

Then on the overlay near the top it writes what’s going on. Red lines in the graphs are bad :wink:

1 Like