Stop adding new content/features and focus on optimizing what we have

This was applicable in the past for phone calls, letters etc. But it’s, based on modern research, not fully applicable in social media (which a forum is). Here you need to consider the effect that only people who have problems come to the forum to see if others have these problems as well and to find a solution. Anybody without a problem may not see the need to come to a forum.

3 Likes

As a member of other support-type forums, I also know that there are other possible support venues, such as direct customer contact, other forums, etc.

And if we take what you say at face value, then the number of complaints here represents a larger percentage of the total user-base because you assume that most users come to the forums for something or other. There are also those users who, not knowing any better, (this might be especially true for X-Box users), think that this is the way the game is and it just stinks being me.

Don’t get me wrong - I’m not trying to “troll” the forum, nor do I want to engage in “Microsoft bashing”, (though, I will admit there have been times when that is precisely what I wanted to do :wink:).

What kind-of gets under my skin, (as a seasoned SQA engineer/analyst), is the somewhat dismissive attitude that I see sometimes - perhaps not intentionally - but it’s there.

I totally “get” the idea that if you can’t reproduce it, you can’t fix it.
I totally “get” the idea that, (unlike the Mac), the PC landscape is like the Wild West with zillions of different permutations and combinations of everything imaginable and Jesus only knows what odd-ball driver someone might have for the fingerprint reader on their keyboard.

But the problems are there, and it’s more than just one or two “outliers”, and (IMHO), we should be careful not to dismiss these issues out of hand. (Ref: NIVIDIA’s burning power connector issue comes to mind.)

What say ye?

I wish I was.

In hindsight, there are loads of people (but not the majority) who swear their experience is messed up after SU whatever. Maybe those with messed up sims post-update are just somehow corrupted?

It actually makes more sense that there’s a file / corruption issue, than a flawless update simply running horrendously on some machines, and not others. :person_shrugging:

1 Like

It’s the way of the sim, it would seem. The same reason you have 1 person with an Xbox claiming super smooth performance, and the next is claiming a choppy, stuttery mess.

I say this way too often, and have been from early on after launch - the most consistent part about MSFS is how inconsistent the experience is from user to user.

2 Likes

[quote=“JadedExponent34, post:143, topic:557384, full:true”]

He said something about going death con…
Jk

the most consistent part about MSFS is how inconsistent the experience is from user to user. That’s a great way to say it…I’m totally confused about my performance sometimes and issues I read about here as well…I understand some of the complexity and such, but just can’t get a grasp on how you can change nothing, close the program, and bam…next time you try to open and use it’s bummed…I’ve got over 2200 flight hrs, mostly with 1 or 2 planes, and 1 airport 80% of the time, and atm it’s as good as ever since last update, but come up today…open up MSFS… get this message to open in safe mode…What! I say…I select normal as things were fine last flight…nope…program was laggy…had to restart PC to get her going…how does it change by itself?..who cut off my rolling cache? set it to 0…surely not me…update… restart…update…restart…my low-end PC performs way beyond my hopes with a 1050ti with med to high settings locked at 20…1080 2d…I’m thrilled to say the least…but never has anything I’ve owned ever needed so much love and patience to use consistently…and I’m a lifelong fisherman lol…help me understand MSFS 2020 somebody…am I missing something? Pc strength seems not to matter so much…it’s got to be on the other end somewhere which I fail to grasp somehow…I for sure understand the frustrations of some and would be willing to invest in most any PC that will give me that Ahh relief…I wish MSFS or somebody offered a “know it works” PC for this sim with sliders locked…I’d be first in line…no rant if it sounds that way, as I feel lucky to get what I got, but you should be able to get a stock PC in 2022 somewhere to run the guts out this thing consistently at 1080p base game 2d stock 0 addons, nothing else…I don’t prod around with PC innards or settings and all updates remain current daily…anybody know where to look for such a PC? No harm or hurt intended towards anyone…Just trying to understand MSFS…and treat myself to some Christmas…I’m satisfied at 1080p 2d @ 140in screen w/ BenQ TH685P 60hz HDR…just want to use ultra presets stock settings in MSFS for a few years…consistently…anybody?

And the flip side of that is it’s amazing how well it runs on most computers, considering there is nothing standard hardware-wise, and software-wise, between the thousands of platforms it’s running on.

2 Likes

So it should. No other game out there behaves this way. Granted, this one has layers of complexity that others don’t with all the cloud services. But still, it doesn’t make sense how with each update, you end up with a group of people (with various tiers of hardware - from low end to bleeding edge, and even Xbox users) that had no performance issues prior suddely staring at a slide show instead of a fluid simulation.

1 Like

My guess? That Main Thread spikes on all systems. A good setup is just one straw away from breaking the Main Thread camel’s back. The slightest change with an update can totally throw a well calibrated setup off.

2 Likes

Don’t I know it.

Oddly, I was flying earlier. I was main thread limited, yet none of my cores were seeing above 80% use.

2 Likes

Ah, it seems like we’ve all been having this discussion for a long time now. :slight_smile:

I am just finishing my installation of SU11. I was getting acceptable FPS in the sim most of the time prior.

3080 RTX i9 10900 – we’ll see what happens. I’m scared.

1 Like

I figured out a few months back, the Main Thread is not a core. It is the time it takes for all cores to complete a cycle. Each Main Thread cycle provides the CPU calculations needed for one new frame.

And there is lag. No matter how fast your CPU, or how much overhead you have, one core may have to wait for another to complete its calculations before it knows what it needs to know to build upon that and work on its next task. Then the cores must wait to communicate with the GPU. You will see this added latency in Developer Mode, and it is all because CPU cores and the GPU are sometimes not being used as they wait for instructions to be able to work on and complete their next task.

And it is the waiting, and doing nothing that causes the Main Thread processes to be so much slower than others.

When we need 30 or 60 of these Main Thread cycles per second for smooth play, there is a LOT of time lost while cores wait in this very CPU heavy sim.

You can see some of the lag in Dev Mode when you look at how long a GPU or Main Thread cycle takes to complete in MS compared to the always longer amount of time it takes to cycle a frame in MS. The difference is time your assets spend waiting for their next task. Or waiting to communicate data from cores to GPU and back again.

3 Likes

Good explanation and it makes a lot of sense.

What I don’t get is sometimes I get huge freezes. When it happens it varies from 2 to sometimes (rarely) 12 or even 15 seconds until it runs smooth again. Usually 6 seconds on the dot. If it gets to 10 it’s a long one but as I say sometimes it’s even longer! That’s not a thread waiting. I don’t know what’s going on with the engine when that stuff happens. It’s definitely to do with density of scenery and/or other objects (a compound effect) that it’s dealing with, but even so seems strange that it can hang for that long before it works whatever it’s working out out. My guess is it’s probably cloud data related.

I tracked down that the FS Birds are a pretty bad offender (for me) but that is just a contributing factor.

Thing is it never happens in areas with less going on. Like in Papua New Guinea I get completely smooth Locked frame rate with no freezes ever so it’s definitely location dependant. Mesh detail seems to not be relevant as PNG is pretty complex in terms of elevation data as well as other areas that have a lot of mountains and such that I don’t have any hiccups in.

Thankfully not had a CTD for a long time now and even in pretty dense areas I’m getting acceptable performance without stutters. Still it’s a mystery why it changes day to day!

2 Likes

It is dinner time. To answer, I will need to write a long post so I will get on it soon. It is cool stuff. Annoying but cool.

1 Like

Would really downvote if there was an option.
SU11 didn’t have a single CTD so far, despite having ATC bugs and not fixing SU10 gust problems (for those who actually have it, that is).

Asobo actually did delay SU10 due to the buggyness, and I would really hope to encourage them to do the same (prioritize on fixing/optimizing) for future updates, but probably not to the point of “stop adding new”…

2 Likes

Ok, sit down. This will take a while.

When the Main Thread becomes a big enough bottleneck, it seems processes might get out of sync. And to catch up, the Main Thread just stops time in sim.

This is the same as a CPU heavy strategy game like Civilization when the whole world is colonized and technologically advanced. Time stops and stutters. Things appear to happen in slow motion.

The same thing happens in audio or video when editing or mixing and the CPU gets maxed. Time stops and stutters happen.

I promise I am getting to long stutters but it is important to know that any basic stutter in sim is a CPU Main Thread spike.

When the GPU is the bottleneck, FPS reduces but time doesn’t stop in sim, and while high FPS is better, a lowered FPS is less bothersome and noticeable than a time stopping stutter.

Ok, so, why the long pauses? In short, because your CPU probably doesn’t have the greatest clock speed. Neither does mine. Portable computers lack good cooling to run hotter and faster. So when you hit a CPU bottleneck of a certain magnitude, your CPU is entirely out of resources and overhead.

Have you ever filled your main hard drive? The one with your operating system? And EVERYTHING slows to a crawl, even folder management, while you look for a few GB worth of useless files to delete.

Your computer slows beyond what you are accustomed to because it has absolutely no overhead. It has painted itself into a corner.

Same thing goes for the Main Thread. If it spikes on a CPU with a medium or low clock speed, the CPU can be slowed to a crawl. The other processes get out of sync. Time passage in sim gets messed up. Time stops. And we must wait for the computer to rebuild everything and get itself back in sync and with proper overhead.

So, let’s look at what is CPU driven. The flight model. Ground model. Level of detail. Traffic and objects. Basically anything that moves needs to be mathematically tracked and guided. Some 3rd party mods and sceneries. Airplane systems, the more complex, the more CPU demand. And photogrammetry is also CPU heavy.

So, folks tend to most commonly get their stutters at or near photogrammetry cities while at a big airport, in a complex plane. The most common stutter happens a few hundred feet above an airport after takeoff or before landing, when I suspect the ground modeling gets prioritized or unprioritized. As that is when the CPU is doing almost everything it must do at once.

But with a slower clock speed those stutters can get longer and happen in ways that might seem more unpredictable or intermittent.

In any case, the Main Thread lacks overhead at those times. It is painted into a corner, and it takes an extra long time to get itself out of trouble and back in sync with all the other processes. This can take six or so seconds. And it probably seems obvious by now that a system without overhead is MUCH more likely to crash than it is at times when it has overhead.

That’s as simple as I can state it, but it isn’t simple to state! :joy:

3 Likes

It could actually be a thread waiting. In an ideal world, a multithreaded app would hand off all of its tasks to other threads and they’d run in parallel without tripping up the main thread. But in reality, some of these threads have to wait for each other and they block further execution of the game’s code. And there’s the opportunity for a huge mess of problems to arise. One of those threads could be stalled, idly out to lunch, overloaded with too much work, or grinding its gears in an infinite loop, while other threads are on vacation waiting for it to return. As a result, the sim might say it’s main thread limited while Windows says not much of the CPU is being used. In really bad situations, the whole sim could just hang.

Lots of things can exacerbate this beyond your CPU speed. Reading off the disk, waiting on the network, reading and writing from RAM, copying to VRAM, operating system scheduling, and not to disparage the devs, but it could simply be a bug in the sim or bad multithreading design. And there’s definitely lots of both bugs and design issues. The sim has to do a ton of threading and resource management, work that you’d want the best engineers in the industry doing because it’s really easy to screw up. There are several areas I can point to where the sim is very badly optimized on a basic level, and there’s no doubt more trouble spots under the hood we can’t see.

The reality is the performance issues are probably all of the above for many users. So it can be frustrating when people point to one thing as the cause or just blame your hardware when there are a half dozen other things outside your control that are also in play. I hope your find something that works.

4 Likes

Great explanation.

In multi-threaded programming, it’s almost always the case that a program will have to synchronise access to shared resources across its threads. Sometimes that doesn’t matter, and all threads can just touch the same bit of memory whenever they want and this won’t cause problems. In which case we say that the shared resource is inherently thread-safe. But most often access to shared resources needs to be controlled, for which we use locks (these go by lots of names, but are basically like a token - to access the resource, a thread needs to obtain the token first, and if it’s in use by another thread, it has to wait until it’s free).

Failure to do this properly can lead to deadlocks, where a thread can never get the lock and will wait forever, or race conditions where two or more threads access shared resources out of order. Imagine you have two threads, one of which deposits money to an account and one of which debits money. Debits are only supposed to happen after deposits. If the threads are badly synchronised and a debit happens before a deposit then the account balance is wrong for some period of time which can then affect a calculation done by another part of the system.

Humans are quite bad at the kind of thinking required to do all of this 100% correctly. I promise you, concurrent programming can be absolutely mind-bending. Threading bugs are undoubtedly one of things that can lead to stutters and CTDs in a game.

That said, if there’s a pause or a CTD it doesn’t mean that the MSFS code is to blame. But some piece of software running on your system is to blame, unless you have a hardware fault.

Barring hardware faults or the occasional stray cosmic ray corrupting a bit in your RAM (and yes, that does happen, why do you think error-correcting RAM is a thing!), computers are entirely deterministic. Given the same input in the same order you’ll get the same output from the same code every single time. So when you get genuinely inconsistent results (as opposed to consistently inconsistent, which is a whole other thing), that’s always a result of multiple interacting pieces of code where either timing or input is variable. The thing is that modern computers always have a ton of things going on at the same time, from the OS up. The days of a program having complete control over the hardware and being the only thing running are long gone. So there’s just so much more scope for things to go wrong and for bugs to only affect some people, some of the time. The more complex the software is, the more scope there is, and MSFS is very complex.

Frankly, it’s surprising that things generally work as well as they do.

4 Likes

So, remember when I said reinstalling fixed it?

It didn’t.

3 straight CTDs simply trying to get into VR Mode.

So frustrating.

EDIT: tried “Safe Mode” and it wouldn’t even load a flight before Crashing.

1 Like

You could always reply here:

:crossed_fingers: