CPU is not utilized, but low FPS

I can’t understand or comprehend it.

Why does my CPU run with only 25% performance and 33 FPS instead of the desired max. 66 fps (GPU limited)?
At 25% CPU performance, however “Limited by Mainthread” is displayed, although the individual cores are not used to capacity in DX12.
The GPU is also bored. The internal memory /GPU memory is also almost unused.

The graphics settings are mostly set to medium because of the low FPS.
Why are the available CPU resources not used by MSFS?


Hardware:
Intel Core i9-10980HK
Nvidia GeForce RTX 3080
Win 11 22H2 (Build 22621.819)
Nvidia driver 526.86

The following adjustments have been made:
Windows High Precision Event Timer - off
NDU changed from 2 to 4
HAGS - off
Virtual Machine - off

image





1 Like

Limited by mainthread simply means the CPU is working harder than the GPU. It does not mean that there is a problem with your system. Ideally, you want the GPU working harder than the CPU, but if they are close together in frame times that is fine too. The traffic settings are a big drag on the CPU.

1 Like

I must admit, getting an optimal system seems to be a black art at times. I have a roughly comparable CPU (Ryzen 5 3600) and a much lower spec GPU (GTX1660) running 1080 DX11 on high settings with TLOD of 200 and clouds at ultra. With live weather and traffic at a 3rd party airport such as EGBB, I get about 31fps, and without those it can go to 41-46fps. I am GPU limted.

I do sometimes think about getting a more powerful GPU so that I can run ultra settings, but posts like this put me off.

4 Likes

Really, they should change the name of Ultra to Experimental. This is a great video to watch for tuning your settings. If you can’t see a difference between the settings you don’t need to set it higher.

4 Likes

Thanks for that, really useful. The words, subtle, barely perceptible and ever diminishing returns springs to mind comparing high and ultra.

Apologies to Robby3152 for the tangent.

Thanks for that link - that video should be pinned to the top of every “graphics” related thread! Its a masterpiece.

Thanks for your feedback so far and the video.
My main problem here is, that the CPU is only running at 25% power on average though the FPS is also only at 33 instead of the maximum 66 FPS set.
How do I get the CPU to come out of its idle state.

You can clearly see that core 1 thread 0 has been running at 100%, this is the limiting factor and your 25% gpu usage is only so low because this figure is aggregated across all cores.

1080p (or less in your case) for a 3080 is not recommended but you can improve things by setting everything ultra (except TLOD) and bumping renderscale so that your mainthread and gpu frame render times are more closely matched. Also set texture filtering to high quality in NVCP

You can’t infer that from looking at a maximum value. Could have been instantaneous at any point since the monitoring was started.

Who says you can’t? … When your system is that imbalanced it is a guaranteed fact

If you’re using nVidia control panels V-Sync and more than one monitor the sim will halve it.

Using nVidia’s sync option over the games is fraught with difficulties.

It’s best to use the games V-Sync and halve or third your refresh rate for the desired frame cap.

I currently run my monitor at 100hrz and set it to cap at half for GA, 1/3 for complex aftermarket aircraft.

(my monitor is capable of 165hrz)

Oh and OP as for your settings, hit the ultra preset then turn Clouds and Contact Shadows down to high, save and enjoy.

Thanks again for your feedback.

the 100% on core 1 is indeed the maximum value reached at some point (as BeardyBrun also already suspected).
As you can see from the screenshot from HWInfo, the utilization of all cores at the time of the screenshot with 33 FPS was only <5%. Since these values fluctuate quite a bit, it is of course not impossible that the actual utilization was alternately around 25% per core.

According to HWinfo, the maximum cpu/thread-utilization averaged 21.7% over the entire measurement period, and 34.2% at the time of recording. Why doesn’t the CPU work faster, although only 33 FPS are achieved?

V-Sync is disabled.
For the screenshots I ran MSFS on my normal monitor at 1920x.
Normally MSFS runs on my external monitor at 3440 x 1440 resolution and 120Hz.

You mention having a desired max frame rate of 66 (probably not achievable at 3440 x 1440) however you are setting that limitation the sim is halving that because of the ultra wide being sort of seen as two monitors.

Setting a desired frame rate cap is better using the games settings, your refresh rate and a little math.

Turn off the nVidia frame cap, turn on the in game V-Sync and set it to 1/2 for 60FPS or (more likely to work) 1/3 for 40FPS.

If your mainthread frame times are more than double those of the gpu you have two choices. Either reduce load on the cpu (e.g. TLOD, traffic) or increase load on the gpu with ultra settings and higher resolutions (in as badly balanced situations as above both methods can actually increase fps). Also I wouldn’t employ any frame caps until after calibration as they can only mask any inefficiencies.

Interesting statement. I will test your suggestions next time.

my cpu load is about 35%. unfortunately, I see no possibility of a further reduction.
I will test whether an increase of some settings to Ultra brings an improvement.

Then you need to investigate why you have such tragic mainthread frame times compared to gpu, it’s that simple. And I suggest for a fuller picture while the sim is running open up task manager / performance / cpu and right click on the graph and change view to Logical Processors. Take a screenshot.

ThankYou, this video is kind of an eyeopener regarding settings. It has been really helpful to me.

1 Like

Thank you. Yes I will do and then post it here.

1 Like

mine is the same after flying for 15 minutes or so my cpu drops to a crawl anf gpu up 100%. FPS drops to unplayable 4-5