Limited by Main Thread just by one core

I’m limited by the main thread on the ground.

The GPU does not run 100% because it is limited by the last processor core but the other cores are functioning normally.

1 Like

That’s what “limited by mainthread” means. In DX11, everything runs through one core - the mainthread, with a few secondary cores handling other tasks. The mainthread is usually the bottleneck to performance, as one core runs at 100%. This is a DX11 limitation - there’s nothing you can do about it except turn down terrain LOD.

3 Likes

Moved to Community Support, Hardware and Peripherals. This is not a bug. When reporting bugs, use the template.

1 Like

Note that DX12 doesn’t mean there’s no main thread – everything other than graphics still has to run! – but it may mean some parts of the rendering pipeline are better multithreaded.

1 Like

I put terrain LOD at 100 and fps jump back to 60. Thanks. Probably the only option if it bothers this problem until developers can fix it in the future.

1 Like

Mainthread performance is very sensitive to terrain LOD. I wouldn’t go above 200 unless you have a powerful recent processor.

2 Likes

I use LOD 300 at all times without main thread bottlenecks, stuttering, tearing, or CTDs with a mid-range system but only because I limit rendering to 1080p at 30 fps max on a 42" display about 6 feet away.

Even at only 1080p, the detail and depth of rendering degrade noticeably if I turn LOD below 300. You can always achieve increased image quality if you are willing to give up the higher resolution and more fps.

I can play with 300 LOD but in some cases such as Portland airport there is this problem with main thread.

and the winner is, with the 1 millionst topic about “limited by mainthread” … :rofl:

We have so many topics which mentioned the tLOD and some times cause enabled photogrammetry that.

Limit the tLOD, eg. start with 100 and then go stepwise higher. The Ultra-Setting is “200”…

We have also good wish topic about dynamic LOD: Dynamic LOD by altitude/flight level

You can use the forum search function for more infos.

I don’t know how it works in MSFS, but in general, the LOD number indicates distance.
Since LOD400 is 4 times LOD100, the object to be displayed is 4x4 of LOD100, which is 16 times LOD100.
In reality, because of the three dimensional space, 4x4x4 would be 64 times the area to be processed.
However, since the upper half of MSFS is mostly empty and the lower half has no objects below ground level, 4x4 is a good approximation.
Also, if the pre-cache is set to Ultra, it will try to read backwards, which the player is not looking at.

This is the reason why LOD numbers are more sensitive than players think.
If you think you have a FPS problem, lower the LOD anyway.
LOD is more sensitive to performance and stutter than any other setting.

My lod is set to 100 and many times my limited by mainthread happens in the middle of the ocean where there is NOTHING. And it’s extremely random. I can go 30 flights no issues and the next 30 at least 60% will end because “limited by main thread” happens causing performance degradation. I assure it isn’t my components either as outside of MSFS everything else runs perfect hours on in.

All games are limited by either CPU or GPU, and are only limited by frame rate if they are limited.
Limit by Main Thread does not mean “we have limited your system.”
Nor does it mean that performance is degraded because of the limitation.
It just indicates the current state of the performance bottleneck, whether it is the CPU or the GPU.

2 Likes