CPU Bug "Limited by Main Thread" is causing the bad FPS

You can’t hit a consistent 90 fps in this sim, not even with the top hardware money can buy. And if I’m wrong about that, and say dual 3090’s paired with the highest available Intel or AMD chip actually can (though I even have my doubts even about that, and I’m not sure SLI is supported in any event), you’re still talking about 0.01% of users who will be so equipped.

Since they’ve purportedly been working on VR for sometime now, by all appearances in some sort of partnership with HP and their Reverb G2, they KNOW this already.

If failing to meet that standard is going to make the overwhelming majority of their customer base physically ill, I think they would have pulled the plug by now, or at least delayed it until 2022 or later when such a thing may be hypothetically possible for even mid-range systems by 2022 standards. Realistically though, you’re probably looking at 2 generations down the road for Intel, AMD, and Nvidia before it becomes reality.

A lot of games can easily hit that number even on a 10-series card today, but FS2020 ain’t one of them. And it doesn’t need to, either, even striving for 90+ is pretty much pointless because your eyes won’t notice it. And, at the risk of being repetitive, it’s pretty much impossible with 2020 hardware, even the brand spanking new stuff.

Well my point is that they will have to lower graphical settings to reach their VR target. Remember, VR requires rendering the same image twice. You have two screens in the HMD, and at minimum the resolution is 1200p. Now they have implemented techniques like single pass to get better performance when rendering 2 images, and asynchronous timewarp which keeps the cockpit and fluidity of motion at 90fps while youre looking around - while the scene in motion runs at a lower fps. But I still feel the clarity may be unacceptable to many. I think DX12 may help alleviate this.

I don’t really look at studies regarding VR, I’ve had my own for over 4 years starting with the Oculus 1 SDK and have probably thousands of hours flying different titles with them. I refuse to fly if their is any noticeable jutter or motion blue at all in VR. With Combat Sims, I stay at a strict 90FPS (Aces High, War Thunder, etc.) I had to make Xplane look like MSFS98 in order to fly without getting sick. And now with MSFS I feel it may not be worth it until DX12.

Please don’t forget with VR, might come DX12, and with DX12, might come DLSS2 and VRSS.

Since they already use a motion vector buffer for TAA, it shouldn’t be too hard to also use this as input to VRSS I guess.

1 Like

N6722C - Virtual Reality Knowledge = 0

How far is VR from being able to have your hands visible & be able to both control a Virtual object, as well as get some feel feedback that you are touching or moving an object ??

It depends. One could argue it’s already there. There are accessories like Oculus touch which allows you to move your virtual hands in the game and you can see it. There is feedback in the touch controller when you are in the zone and hovering over the functionable button. When your hand hovers over say, the autopilot heading knob, you can use your thumb to push up and it will turn the knob.

I think there are also gloves for some devices, but the best and probably most expensive route would be to have a glove with touch sensory in the fingers that can pinch and simulate feel of an object, almost like a blood pressure cuff. When you squeeze a knob it’d allow you to turn your fingers like you’re turning it. Or touch feedback on the landing gear when hovering over it, then it would just have to recognize the motion of your finger putting the gear in the down position, etc.

I have the same issue even at 3440x1440 high settings.
AI off. Glass update setting on low.

If I fly over an airport (especially in cockpit) I can see “limited by mainthread” instead of “limited by GPU” even though none of my CPU threads are hitting 100%… all stay below 70% with average of 50% all of them combined.

FPS is still showing 30+fps but frametimes are atrocious, lots of stutters.

i7 4790k @ 4.5ghz, 16GB RAM and on SSD.

I guess we will get there one day, and play Google Flight Simulator on a “USS Enterprise” type HoloDeck.

Hey @aparsons671, your post got me thinking… There are now multiple threads on degrading performance, and one is related to ‘manipulators’. If these values are definitely related to cockpit display, I have an interesting theory that I proposed in another thread. I reported an issue with the TBM MFD moving map that when you have other aircraft on the map, looking away for 30 seconds or so and looking back makes them move quickly from where they used to be to their current location (sometimes off the map). The implication is that the game is buffering thousands of data points until they can be displayed. Is it possible that if you are ‘outside’ the cockpit for an extended period, the game could get bogged down with all this buffered data? One thread is seeing Limited by Manipulators now.

Just a thought… I’ll do some investigation.

manipulators are part of the virtual cockpit and related to controls and switches.

if you have something that is constantly switching the button state, even if it’s already in that state (like a hardware switch that constantly flips a cockpit switch via simconnect event), you could theoretically drive the manipulator events which have to be processed through the roof. also, when you move your levers and yokes or joysticks around, they have to be interpreted and sent to the visual portion of the virtual cockpit to show where the controls are placed. also, the control surfaces must be adjusted to match the manipulators. think about a turboprop. you have the engine turning at a set rpm, then the blades twist with the manifold pressure, the mixture knobs adjust the fuel burned and possibly other effects visually (too rich causes darker exhaust or something the author wants to capture).

Manipulators are related to the physical portion of the 3d cockpit, while the CoherentGTDraw is the glass portion. I’m not entirely sure where the non-glass gauges fall into, but I’d assume the manipulators would be the right category as well.

When youre in the external view, the coherent gauges should not be rendering and neither should the standard gauges, but the systems of the airplane will still work, so it’s possible that even invisible, they still process data as if they were visible, just without rendering anything…so CPU would be affected, but GPU (even as minimally as it would be) workload would be lessened.

2 Likes

with my high-ultra settings, I got 50-60fps consistently. My 1070 was running 99-100% and limited by GPU. So, then I edited my nVidia profile to limit to 32fps (I’m recording via OBS and lock it to 30fps - 32 gives wiggle room for steady fps - 30 dipping to 29 gives an ever-so-slight stutter). This gives my GPU a max of 40-50% depending on weather and scenery.

So now, when Rex Weather Force loads, there is a bump in the GPU usage while it processes the transformation between weather updates…at 100%, there was no wiggle room, so my FPS would drop. I also run AirManager, and again, there was no place for it to run, so it would drop my FPS when it needed to run something graphically heavy. I also run OBS and use it to encode the videos live, which again, uses GPU. Now, with 32fps locked, my GPU has enough headroom to nearly never hit 100% usage with everything running on it and it’s smooth everywhere.

1 Like

I wish I could try, but unfortunately with the xbox game pass version (PC), all the folders are locked, so I cannot add the flightsimulator.exe to my driver or RTSS.

Go to program files (x86)\RivaTuner Statistics Server\Profiles and copy the “Global” file and rename the copy to “FlightSimulator.exe.cfg”

FlightSimulator.exe should appear in the list when you load RTSS

1 Like

i have yet to configure RTSS for a game…i just have the global profile and it just works…I just upgraded to 6.3.0 last night and set up the gui i wanted with bar graphs and stuff…it’s the same for every game, sure, but i’m usually l looking at the same things for every game, so why not?

Because I don’t want a 30fps cap for all my games… I’ll try the CFG

Just hold down CTRL and click add in RTSS it will add it to RTSS you do this while the sim is running.

1 Like

So I’m sure most of you have noticed but main thread seems to run on a single logical processor or at least what I think.

I mostly get limited by main thread when this logical processor is at maximum load.

I decided to try and see if disabling hyper threading on that single core which msfs20 assigns to the main thread, which in my case is always the last thread (core 7 or thread 15), helps performance.

It’s hard to get a stable state in this sim due to the vast number of online variables and such, but what I’ve noticed is that doing so seems to make performance actually worse compared to leaving that core to hyper thread.

Might it be that main thread is actually split over two threads as opposed to what I’ve been thinking all along?

I might do some more testing if I get the time but would like to hear opinions and results from others who have tried something similar.

AFAIK all intel 9th gen and onwards allow you to turn on or off hyper threading on specific cores. I have a 10700k at 5.0ghz myself. Not too sure about AMD and SMT.

Also this is not a test or comparison between HT on or off. It’s specially on that single core which your main thread is assigned to.

That worked! thanks

I have a Mid range Gaming laptop ($650) so i do not expect too much.

I start a flight with 45 FPS, 2 hours later it has dropped to 10 FPS.

I turn OFF all AI generated Objects & restart MSFS

I start a Flight with 45 FPS. 2 hours later I am still at 45 FPS.

Theory. AI objects are being “created” but never “destroyed” when they should be out-of-range.

Its not so much a memory leak, but an AI Object Flooding ??

START: 45 FPS

AI-Planes

2 Hours later 10 FPS

3 hours later, probably a CTD !!! (not actually witnessed,)

With AI OFF, , I am NEVER limited by Main Thread. Its always by GPU, as I would have expected with this laptop’s Video Chip.

GPU is running Hotter – CPU is running Cooler !!! & I am Overjoyed !!!

5 Likes

I know there is a slider for AI traffic, where do you have yours set? Mine is at the default of 50. I’ve not played around with that to see what physical effect it has, confirming via Littlenavmap to see planes either created, or destroyed.