Makes me want to downgrade back to 1080p.I am not getting a single stutter when going down to 1080p and my fps nearly doubled. I did a series of testing different resolutions even 2560x1440 runs better. I will disable all menu icons to see what I get.
Makes me wonder if the engine in the sim or the way its coded is wasting resources other parts of the sim hindering performance.
For some reason MSFS doesn’t warn users if their graphics settings are too high for their hardware. No error messages, no warnings, just crappy performance, FPS in the teens, memory exhaustion. And we spend time searching forums for answers. Most users want to run MSFS at 60 FPS @ 4k using ULTRA settings. Why not?
MSFS is a very graphics demanding program. There is always a trade off between performance (FPS) and quality graphics. To add to the complexity, there are 60+ graphics parameters that are user adjustable. Here are a couple of suggestions that have worked for me.
To optimize FPS, the graphics settings should be adjusted to move some of the graphics processing from the CPU to the GPU. The GPU usage % should be 90-100%. The easiest way to move more processing to the GPU is to adjust the LOD settings smaller. Try something between 50 to 80.
To optimize the quality of the frames instead of FPS, the opposite works. That is, have the CPU perform as much graphics processing as possible instead of the GPU. This can be done changing the LOD settings to 200. Higher LOD settings above 200 can be set by editing one of the configuration files.
Higher quality graphics will increase memory usage. If memory usage is too high, the graphics settings should be reduced. If memory fills up, both the CPU% and GPU% will drop along with FPS. The developer’s FPS display will show “limited by main thread” even though it is memory exhaustion, not a lack of CPU processing power.
You guys should understand that MSFS is DX11, which is single threaded just like those games from the i5-2500K era. I think DX11 is the last update of the single core version of DirectX. DX12 is already muticore and was released in 2015 or so. So in MSFS, which is still DX11, all draw calls in between CPU and GPU will have to go through a single core. Hence why people are always ‘limited by main thread’.
It is not rocket science. You could by a 3090 and a Threadripper and the communication in between CPU and GPU would be still dependant on a single core. So from the i5-9600K (6 cores) to the 5900X (12 cores / 24 threads) you will see a similar performance, being the i5-11600K / i7-10700K / i9-11900K / 5600X / 5800X the sweet spot for MSFS.
*note that since MSFS depends on a single core to work CPU GPU tasks, Ryzen 1000 / 2000 and 3000 series are not recommended, since they still suffered from latency problems for gaming, especially the first two generations. So they don’t have good single core performance for games per se. I think the 3000 series is a bunch of frames behind Intel 9th generation in MSFS. The best current CPU is the Ryzen 5000 series.
I don’t have a strong rig so I can say for myself, but I guess you have to find an ideal balance that allows the CPU to don’t be choked out by draw calls on the main core and the GPU to have tasks enough to perform to at least give back what you paid for.
I think Hardware Unboxed said that after the 2070 Super the fps don’t scale well because the main core is already choked.
They will bring DX12 in the future, and DX12 is an app that allows the use of several “main threads”, thus un-choking the current main thread, and we would expect at least two main threads to split the tasks, but the developers have said a few times that the goal of DX12 is not for performance gains, then I imagine it will be to introduce Ray Tracing and that kind of bling that does not work in DX9 and DX11.
Perhaps a programmer could give you guys some tips to circumvent the DX11 main thread choke in MSFS or explain better its code limitations.
RAM Speeds. XMP Profiles. Check them People!
On ^ mention - Test other XMP options if you encounter instability. There are many discussions regarding XMP issues and workarounds (manual clocks) on the web if needed.
Both OpenGL and DirectX have had multi threaded support for a long time. DirectX since v9. DirectX 11 specifically has support for mutli threaded command buffer creation as well as resource creation. DX12 and Vulkan take this a step further by splitting out those resources so there need not be a main thread, while adding app side complexity to manage thread synchronization.
DX12 may help improve performance if the bottleneck is the driver being CPU bound or perhaps with some features improving instancing or other. There is no guarantee this will be true, and it may take some time for the programmers to take advantage of lower driver overhead with their own efforts. It does remain a hope.
That is not what all the reviewers are saying. You might be just smoke screening the subject with programmer lingo, because what people say is that you can do some workarounds around DX11, but it is a bottleneck nonetheless. Hardware Unboxed called it “bizarre” the fact that MSFS is DX11. I’m pretty sure they are no dummies regarding games.
And the fact that we have a single thread working with high loads and all other cores just cruising around might indicate that they did not change much of the FX 2006 code and we do have a ‘single core’ game where they added patches of new stuff.
Only they know what they did, but it does not look good on the performance side of things. And to glorify DX11 at this point does not help either, just perpetuating this notion people have that simulators have bad performance because there is no current computer to run them properly. The so called “NASA computer” that was so mentioned over the years.
For things to develop, people need to get the blinders off, or else we will get MSFS 2030 also with DX11 and people will still talk about the “NASA computer” when other games will be using DX14 already.
Back in 2014 I called ROF poorly optmized for multithreaded CPUs. Even the manager of the studio stomped on me. Years later, I think in 2017, someone asked in Il-2 about the core usage, and the Il-2 engine was an ‘update’ from the ROF engine. A developer (probably drunk at night) responded “Two cores. And a third core to run the OS”. The topic was deleted, of course.
And I heard for years the old saying “current hardware is not enough”. And even here I see people refering the 5900X “because it is never enough for a simulator”.
Anyways.
I’ll clarify with two points:
- Latest graphics APIs are not required for multi threading.
- Don’t set your hopes too high for DX12. It may help a lot, or not much, we’ll see.
As for programmer lingo, I’ve developed simulation software for almost every version of DirectX and OpenGL and before consumer 3D hardware existed.
On the general subject of performance, it’s not merely your hardware, the sim has a bunch of performance issues with CPU main thread bottleneck. CPUs with < 6 physical cores are even more affected. Hopefully we’ll see improvements for what is called ‘stutter’. There appears to be a delicate balance with resource preparation and trading performance (frame rate) for latency (delay in loading scenery) is not adequate. (My point here is that throwing hardware at the sim won’t fix it, nor tweaking core affinity or all the other ideas thrown around.)
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…)
200 mbit internet bandwith and with mid and low settings never over 30 fps always with bottleneck “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.)
I know this topic is old, but you still having the issue? Because I am, 3070 and I9-10850K, cant get anything over 40fps in the cockpit and its stuttery as heck.
Bro same man some times smooth sometimes jerky stuttery as hell……
Specs I7-9700 rtx 3070 16GB Ram
Yep, its very annoying, with my specs, I should not be stuck at 30-40 laggy fps… in the sky… its getting beyond a joke.
Pfff exactly with my specs too LOL
What resolution are you running? I have an rtx2060super i7 10700k and gpu bound all the time.
I am running at 1440p
I already answered at the original post from @DillonH1877 and added two links you can check : Limited by mainthread but mainthread only at 60-80% (UPDATED) - #32 by MichaMMA
Hi there, I sold my pc back then but must say the last update for performance on directx gave me more FPS on my old pc.
I
am
now
waiting for xbox Cloud (Cloud Gaming) release to play MSFS2020 on any device.
You can have a look on Shadow PC but I really wait for the official release to completly play in the cloud and not buy a 3000$ gaming pc…
Sorry for the repost, back then I was a little bit lost owning a GTX 3080 and not getting my expected FPS results. The DirectX Update made things a lot better but not best for my opinion. I sold my gaming pc 2500€ and now wait for Xbox Cloud Gaming. It is the future looking at the actual GPU prices now.
Now testing Shadow.tech (Cloud Gaming) actually good but no good USB-Support yet.
I am litteraly waiting everyday for the xbox cloud release.
Hey guys -
There is no question the FPS performance is disappointing with MSFS 2020 in its current state. To make the best of it, there is a great Youtube video which basically recommends turning V-Sync on, limiting FPS to 30, and lower monitor refresh rate to 60 Hz. I followed this advice and found the game a lot more stable and enjoyable. In contrast to action thrillers, this game can be enjoyable at lower FPS because we are just flying freaking planes, in contrast to action thrillers. I hope the performance will improve in future releases via DX12, DLSS, etc. But for now, I will not throw more hardware at it. Just my couple of cents.
You’re a genius! I tried turning off all of the dropdown icons and my FPS immediately jumped from 45ish to near 100! In re-enabling the toggles one by one, it was the VFR map option that killed things.
edit: running on
Ryzen 5 3600 o/c to 4.2Ghz
32GB 3600 DDR4
nVidia 3060 Ti (just upgraded from 1660 Super)
2560x1440 fullscreen @ 80% render scale
Turned v-sync on, now a rock solid 60FPS. Bottleneck moved from “main thread” to GPU, which I’m okay with as task mgr says 80-90% util on the GPU card and 25% CPU. I can live with that.