Developer Mode Mainthread Data Erroneous Since SU11

:wave: Thank you using the Bug section, using templates provided will greatly help the team reproducing the issue and ease the process of fixing it.

Are you using Developer Mode or made changes in it?

Yes

Have you disabled/removed all your mods and addons?

Yes

Brief description of the issue:

Prior to SU11, the Developer Mode FPS view provided valuable information on whether a user’s system was CPU or GPU bound for a given scenario and graphics settings. Since SU11 I have found it rarely tells me that my system in 4K or high-res VR is GPU limited, despite it having previously having been reported so under most MSFS scenarios in which I fly. This is despite my GPU being showing by external utilities as being near 100% utilised and a notably reduced CPU speed in the same scenario having neglible reduction in FPS yet a large reduction in GPU speed causes a commensurate reduction in FPS.

Provide Screenshot(s)/video(s) of the issue encountered:

See below

Detailed steps to reproduce the issue encountered:

Developer Mode used to be quite a reliable method of determining whether you were CPU (mainthread) or GPU bound, however since SU11 I have found it to be quite unreliable and it quite often tells you that you are mainthread limited when you are actually not. This is evidenced by cross-referencing with GPU load in another utility (Windows task manager is OK for this but not with DX12). If your GPU load is at or near 100% then you are clearly GPU bound.

To illustrate this, in the following scenario (middle of nowhere at altitude in a simple aircraft) I should be GPU limited, as evidenced by my Windows Task Manager showing 100% GPU load constantly, yet MSFS Dev Mode tells me I am mainthread limited:

In that same scenario, if I disable turbo on my CPU and hence drop it from 4.8GHz to 3.6GHz, a 25% speed reduction, then there is a neglible resultant reduction in MSFS performance as you would expect in a GPU bound situation. If I am CPU bound, as MSFS Dev Mode is telling me, why am I not seeing a commensurate drop in mainthread time to the reduction in CPU speed? Something is clearly broken in MSFS Dev Mode since SU11.

PC specs and/or peripheral set up if relevant:

i9 10850K, 3080 10GB, 32 GB RAM, 1TB SSD, HP Reverb 2 @ ~ 2800 x 2800 per eye or 4K in 2D.

Build Version # when you first started experiencing this issue:

SU11 beta 1 through all versions until 1.29.30.1


:loudspeaker: For anyone who wants to contribute on this issue, Click on the button below to use this template:

Do you have the same issue if you follow the OP’s steps to reproduce it?

Provide extra information to complete the original description of the issue:

If relevant, provide additional screenshots/video:

Interesting point. A 25% reduction in CPU speed = practically 0% reduction in a supposedly CPU limited game?

Don’t know a lot about the subject but not sure that seems right as well. :thinking:

Just a question related to you one reads the info from Windows Task Manager.

If I’m playing and Task Manger shows my VRAM usage is 11.6GB out of 12GB, however it only show the Utilization at 1 or 2% what does that imply?

Ryzen 9 5950X
GeForce RTX 3080Ti
32GB DDR 3600
Window 11
FS2020 SU11 Beta

Thanks in advance

I suspect that you are using DX12, which seems to cause Windows Task Manager to incorrectly report GPU usage in MSFS DX12. Try using another utility like GPU-Z or HWiNFO64 to show actual GPU usage.

1 Like

While many people won’t care too much about this discrepancy, I have come across quite a few people who have decided to upgrade their CPU because Dev Mode is telling them they are always mainthread limited when this is likely not true.

In my case, when I fly in VR, it is rare that I get sub maximal GPU usage yet I now seem to be always mainthread limited, which I no longer believe since SU11 seemed to break this metric.

2 Likes

Thanks, I will try that and compare.

I’m suspect as well. Seeing as no matter what combo of anything I try, the CPU is ALWAYs (supposedly) limited. Heck, even dropping terrain LOD to 10 still shows CPU limited in the sim even though it showed GPU limited in the settings screen.

It is interesting to note that others are experiencing this issue too. Don’t forget to vote!

If you are CPU bound/Limited by Main Thread and lowering the clock speed 25% shows no reduction in performance, this tells me that whatever is limiting the main thread is not dependent on whatever the CPU is doing. If the main thread is waiting for a file to finish downloading from the network, having a slower CPU clock is still faster than the network download. If the CPU is processing instructions or using data that is no longer in real memory but in the page file virtual storage, the main thread has to wait until Windows retrieves the data or instructions from the page file and moves it into real memory. (And if there isn’t enough real memory available for the incoming data or instructions, Windows has to move things around to make space available.) This would significantly limit the main thread processing.

The “problem” with the FPS counter is that it does not have any information about what is limiting the main thread. And Task Manager is mostly useless because it shows combined info about EVERYTHING running, not just MSFS.

That makes sense, however in the scenario I posted I am deliberately in the middle of nowhere, simple terrain, minimal autogen scenery, no AI nor MP traffic around and no photogrammetry. The scenario had stabilised, so no network activity.

What could mainthread possibly be doing that makes it take longer than the GPU frame in this simple CPU processing scenario, which never used to happen in SU10 and earlier?

The CPU only processes data or instructions in CPU cache or real memory. If the data or instructions are not there, they have to be retrieved from wherever they are. And there are many different places with different access/retrieval speeds where the information might be stored. Windows will “park” the process thread while it is waiting for the instructions or data.

There are always a lot of changes in every Sim Update and any one or more of the changes could be the reason why you see a difference with SU11. New graphics options were introduced in SU11. Unfortunately, there is no information in the Release Notes describing what options or parameters should be reviewed to “re-tune” performance. Personally, I have to make changes after every Sim Update. Also, I have been having to “re-tune” after several recent NVIDIA driver updates.

One technique sometimes used is to “fix” the main thread limitation is to force the GPU to process frames slower by limiting FPS making the GPU the main limitation, masking any CPU main thread limitations. YMMV

1 Like

Well, I found out what the problem was. It was either Windows or MSFS or both, but a fresh install of Window and MSFS has restored Dev Mode FPS view to its previously reliable indication of whether I am GPU or CPU bound. Case closed.