What's limiting my performance?

MSFS doesn’t work like that. Adding more graphics effects only makes more work for the CPU. And if the bottleneck is the CPU or limited by main thread, the bottleneck will only be worse. If there is too much graphics, both the CPU and GPU % usage drops, FPS drops, and memory starts filling up. There is a limit as to how much graphics can be processed.

However if the graphics effects are decreased, the CPU bottleneck decreases because there is less processing. The GPU is able to process everything coming from the CPU until GPU% reaches 100% (becoming the bottleneck). And maximum FPS is being sent to the monitor.

Some parts of GPU rendering have nothing to do with the CPU.

Also, if you read what I said, increase “effects till it gets higher or your frame rate goes down”.

Hi all. I’m running a i5 10400 @ 2.9GHz and RTX1660Super. My settings are, of course, towards the low end LOD. I see dramatic drops in FPS during bad weather situations (I left clouds on ultra), for the rest of flying (giving the constraints of settings) it’s acceptable. When I experience poor FPS I see the GPU running max, while CPU sets around 50-60 percent. Do you think that disabling virtualization could help? If yes, can you provide basic steps to point me where I can disable virtualization? Also, could csomeone explain what vistualization is, and what effects it gives to the user?
Thx.

Strange, i never gone under 30 fps (even under large cities like L.A./PAris/New York) with a similar hardware (all settings on ultra but in FullHD “only”).

this game is going to be this year’s cyberpunk on xbox

At least, on PC, i had less issue with cyberpunk than with MSFS !
Concerning console, Cyberpunk as quality issues on old consoles but not on recents right ?

I was playing around with virtualization ON/OFF recently. Turning it OFF solved some very strange FPS drops I had on a certain locations…

2 Likes

I have an i7 10700K and RTX3070 too (and 32GB RAM 3200Mhz), Hyperthreading OFF for MSFS.
I could be wrong but he problem with Hyperthreading ON is the logical core 15 (aka physical 7) is 100% maxed due to MSFS, but another logical core #14 land on the same physical core #7 and can be used by other programs, so you reach quicker the 100% usage. AFAIK it’s Windows itself which do the dispatching. With HT OFF MSFS will use the physical core 7 and other programs will probably land from 1 to 6. At least in my configuration I have slightly better performance with HT OFF, and really lower CPU temps when doing stress test (so better OC).

When DX12 will be released it’s another story and probably HT ON will be better.

Hmm… I’ve never tried to overclock my CPU with HT OFF. I will give it a shot for sure. Btw, pushing my RAM clock from 3200 to 3600 gave me a really impressive results in MSFS: more stable fps and lower RAM usage…

Yes, I guess we have to be patient about CPU optimization…

1 Like

It actually does work like that in a sense.
Its like when i had upgraded my Graphics card from a 2080 Super to a 6800xt while leaving my cpu as a 3700x.
3700x + 2080Super at ultrawide resolution of 3440x1440p in ultra mode = Perfectly balanced for the sim
3700x + 6800xt at same resolution = Graphics card doing nothing waiting on frame instruction from the cpu = stutters.

I had to upgrade the cpu to get back to parity and increase the render scaling to increase the GPU workload. You want the gpu and the cpu to be as close to their max operating utilization as possible. Any imbalances usually results in the stutters.

And as Salem stated… its to a point

There seem to be two places it is used:

  • Hyper V allowing the user to create virtual machines
  • VSM based security features

Whether these features are even relevant to most MSFS users I have no idea, nor do I have a clue why virtualisation could be causing issues for MSFS.

I think it’s because when you enable virtualization, your CPU is split to have a dedicated core/thread used specifically to run Virtual Machines. This will make that core practically unusable by any app that requires it. Disabling virtualization means you no longer want to run virtual machines, so the CPU core reserved for it gets released can can be utilised by any app that requires it.

If you don’t really know what is a virtual machine, you don’t need to have it turned ON in the bios. It’s when you want to create E.g. a Linux machine inside Windows, or test in another virtual machine a new Windows version etc. For 99% of users is useless. Same thing with Hyperthreading if you don’t use complex programs like video editor etc. If you already have 8 physical core (below it’s another story), you can safely turn it off for gaming. Some games take advantage of HT, so better to benchmark first. The gain in temp with HT OFF, VT OFF is important.

the thing is, it turns on by default. I don’t need it, and I don’t need to turn it on, that’s true. But it’s ON by default. So if I really don’t need to create a virtual machine, that means I have to go into the BIOS and turn it OFF manually.

1 Like

If the GPU is too powerful and causes stutter, do you think it can be solved by frame limiter or reducing the GPU power target?

IMHO you have better things to do like creating load on GPU by increasing E.g. Render Scale, until your limited by GPU. Limited by GPU is th way to go as it induce far more stutter than the “random” spike a CPU can do to process each diffrent frame. The GPU limitation, through vsync or fps limiter is ideal.

1 Like

Right, it’s always ON by default in all MB I had. Turning it off is not a big deal, if your not confident (no offense I don’t know you) just watch some YT videos. And as I said, you’ll see no bad differences, just good ones on fps and temp.

I’m confident… I’m in the IT industry for a living. I know how to play around BIOS. It’s not a big deal, it’s just a switch after all. But it does make a difference in my MSFS between having it on vs off.

1 Like

One would think that pushing all the graphics as high as they can go would max out the GPU. But MSFS isn’t designed that way. The CPU does some graphics processing before sending the graphics to the GPU. If CPU needs graphics data that isn’t in memory, it retrieves it from the rolling cache. If it is not in cache, it has to go to the servers to retrieve it. Decreasing the graphics parameters means that the CPU can send more graphics to the GPU.

The GPU only renders the graphics from the CPU and sends them to the monitor. If the GPU is at 100%, performance and FPS are max. It cannot send frames any faster. The CPU is sending graphics fast enough for the GPU. If the GPU is at 100%, increasing CPU processing cannot improve FPS.

The trade-off is graphics quality and detail. To increase or maximize graphics detail the graphics parameters need to be set as high as possible. The CPU will process the graphics detail before sending them to the GPU. If CPU usage is close to 100%, then the graphics quality is at max. But the GPU has to wait around for the CPU. While it waits, FPS goes down.

Two main graphics parameters that impact quality and performance are the LOD sliders. If I set my LOD parameters at 400 the FPS averages 11 FPS @ 4k. The graphics are amazing! If the LOD is changed to 80 the FPS improves to about 33 FPS @ 4k. That is an FPS improvement of 3X without changing anything else. Also I could improve FPS by changing to 2k.

Guys, the advice to turn off hyperthreading is spot on with a caveat. CPUs that have few cores may see a lot of benefit to hyperthreading for general stuff but what it does is time share your cores to make the OS think it has more to work with. You can have more threads running “simultaneously”.

But the way it does that is to let a thread run for a while on a core, stop, save progress, and load another thread in. If you have a thread that is using all that a core can give you, stopping that process and then swapping in something else leaves the process that needed every cycle it could get just sitting. It’s even worse since everything the process had in registers needs to be saved out before the swap and restored after it gets swapped back.

With hyperthreading off, that process gets a lot more time on a core and appears to run faster. It does so at the expense of other threads/tasks so it’s not a panacea, but those with four or more cores ought to try turning off hyperthreadingand see how things run. Anyone with 6, 8, or more cores should definitely give it a try.

Edited to say hyperthreading instead of virtualization. They are similar but hyperthreading is Intel’s term to describe multiple core virtualization. https://hardwaresecrets.com/everything-you-need-to-know-about-the-intel-virtualization-technology/

1 Like