Some Performance Analysis and the effect of Photogrammetry and LOD

I recently upgraded my i7-9700K 8Core, 32GB, 4K system from a 2080Ti to a 3090. After that, I found myself in a situation where I was continually bottlenecked by the main thread or my CPU. It couldn’t feed the 3090 fast enough to keep it working hard.

Tonight I overclocked my 9700K (8Core) to 5GHz all cores, up from 4.6GHz. That tipped the balance back toward the GPU being the bottleneck more often than not.

For reference, my initial settings here are: 4K 100%, Ultra on all terrain details (LOD 200). Wave Quality and all settings below it, which are not important to me, are set to “High”. The following are all done in the Cessna 208B.

Here’s a typical snapshot of various performance metrics… Note that one core is doing most of the work here (Core 8 at 92%). This was consistent. Strangely, this particular snapshot shows “Limited by MainThread” but that flashes occasionally with the majority of the time now spent “Limited by GPU”

50595249743_20a4d31e26_c.jpg
LOD 200 by Virtual-Chris (Junk Photos), on Flickr

I get around 55fps on these settings which is up from 45-50 that I had prior to overclocking the CPU. At least the GPU is back to being the limiting factor most of the time, although clearly the CPU optimization is terrible.

Then I shut down and switched to LOD 4 (400?) in the usercfg file. This put more load on the CPU and I was back to being CPU constrained and FPS suffered as a result.

I get around 40-45fps on LOD 400, which is not far off where I was on LOD 200 before the overclock.

50595274918_6f7bf87f1e_c.jpg
LOD 400 by Virtual-Chris (Junk Photos), on Flickr

It is using more cores a bit more, but still Core 8 was taking the brunt of the load, and by no means is the CPU being maxed out. So when running higher LOD, the CPU and GPU are both not fully utilized to their maximum potential. It’s all software. RAM and VRAM usage increases at higher LOD.

The difference in visuals is very noticeable. Here’s a side by side of roughly the same part of Vancouver from roughly the same location…

50596155302_07b26a41b2_h.jpg
LOD Comparison by Virtual-Chris (Junk Photos), on Flickr

At LOD 200 nothing is being rendered past the lakes in the middle of the frame. Everything beyond that is completely devoid of features and covered in a flat texture. You would never know there was a major city or two out there. I really can’t do sight-seeing flights without hacking the LOD. It’s an immersion killer to see buildings and complete skylines popping onto the terrain as you get closer.

Then I flew over downtown Vancouver which is a photogrammetry city. Interestingly, this is much better threaded than the regular scenery. CPU core utilization goes up considerably, but even then, the main thread is really stalling the GPU. The GPU is only rendering 20fps and is mostly idle. This is an 8-core 5GHz CPU here.

50596048541_f0f5e6a152_c.jpg
Photogrametry Fly By LOD 400 by Virtual-Chris (Junk Photos), on Flickr

Photogrammetry also has this effect on LOD 200, but you get more FPS. (note the core utilization fluctuates a lot from nearly all 90% saturated as above to what you see here which is probably on the low-end of core utilization when doing a photogrammetry fly-by)…

50595314408_75d95e094a_z.jpg
Photogrametry Fly By LOD 200 by Virtual-Chris (Junk Photos), on Flickr

My conclusions…

CPU is important for LOD and photogrammetry rendering. This is unlike any other game I own, but then other games I own don’t use photogrammetry or offer these kinds of configurable LOD draw distance options. Unfortunately, the settings that have the most impact on terrain visuals from the air are LOD and photogrammetry. You can get great FPS by compromising on these two visual settings, but then what’s the point of flying around at 60fps if the scenery is popping in under your plane?

I’m still not sure how much throwing more CPU at this problem will help. It surely does make a difference as my own overclock proves. But could you throw enough CPU at this game to solve the photogrammetry penalty?

Asobo clearly has some work to do on optimizing CPU usage when not flying around photogrammetry… one core is heavily loaded while other cores aren not… and that one core can be holding up the whole system from rendering more frames. Interestingly though, the Photogrammetry stuff is already fairly well multi-threaded. I’m not sure what they can do with that to optimize it.

Ultimately, by overclocking my CPU, I’ve bought myself enough frames to be happy at LOD 4 (400) as I can fly around most places at around 40-45fps. I’ll take 45fps and high LOD rather than 60fps and low LOD.

The thing that will be chewing at me, is how much more performance I can get by upgrading to an AMD 5950X. Ugh. Before I spend more money, I’m really hoping Asobo can come along with some optimizations to get everyone some free performance gains.

I’m interested in any other’s interpretations of this, and other thoughts you might have. It’s the most fun I’ve had dissecting computer performance in a long time! :smile:

5 Likes

The terrian LOD is too CPU bound. You cant expect people to all have a 5Ghz CPU. I have to run at 100 to get decent FPS 40+, i7-7820X at 4GHz all core, but boosting to 4.5 occasionally.

Your CPU usage is also a bit flawed. You need to look at the process CPU (say in Process Explorer, although it wont show per core). RTSS only shows system CPU.

I agree, but what other game do you have that has a render distance for buildings out to 20-30 miles? :slight_smile:

2 Likes

That is the problem, we can see buildings from 30nm, but the terrain is only high for say 5nm. And why does increasing that to double requires so much extra CPU. It is like they are using the CPU to build and load the terrain data for every frame, while the GPU really does nothing to help.

So say, it is really CPU bound and it cant be improved. For a game like MSFS, why does this compuation need to happen on the main thread. No one will notice if the data comes in a few frames late. It is not like a esports title where every frame counts.

Great point. Unless the terrain rendering just can’t keep up and gets further and further behind the main thread as you fly? I don’t know.

Your LOD 400 example… to me, it looks a lot closer to what the sim looked like at launch. I’d bet 2 CRJs and a diet coke this is a setting they neutered to tame performance complaints.

2 Likes

I don’t doubt that… but you can see why they might do that, it really does impact performance significantly. What they should do, is expand the terrain LOD slider to give those of us who want the trade-off the option without having to quit and mod a file.

1 Like

A very interesting piece, well presented and with some very interesting conclusions.
And yes, whilst the reasoning behind some elements of the sims visual behaviour remain
unknown, we can but speculate.

I would, however, suggest caution when estimating the gains to be had by clocking your CPU.
Unless your CPU was/is configured to operate only at it’s Base Frequency of 3.60 GHz, any
gains would be largely imperceptible, in that a clock up to 5Ghz from your Max Turbo Frequency of 4.90GHz is an increase of only very slightly more than 2%.

Of course I do not know at what speed your chip mostly runs at, turbo or otherwise.

Regards.

The normal all-core speed was 4.6 so my OC to 5GHz was a bit less than 10% and that seemed to translate into a similar gain in FPS, but perhaps more importantly, shifting the balance a bit back to the GPU being the limiting factor again (at LOD 200).

Hi,

Agreed, 4.6MHZ to 5MHz represents an increase of some 8%. Rather better, but alas still marginal in terms of a performance gain. After all it is not as if all of the 8% is available exclusively for the purposes of improved graphics.

However, given the veracity of your original piece, your assertion that it HAS made a
difference [albeit a modest one] is certainly good enough for me.

Thanks for your thoughts and your insight.

1 Like

So my conclusion is ASOBO dumbed down the graphics to give people with lower end systems a “performance upgrade”. I suspected this sim did not look as good as it did when I first installed it and I now have no doubt in my mind.

Given all the other bugs this sim is pretty much a VFR sim. I am cool with this as this is the type of flying I do. How in the world do they think ruining that to is a good idea.

I dont think anyone on the development team was a flight sim user prior to being hired to do this and I dont think they spent much time consulting with people who are. When they do stuff like this it just gives the appearance that they are in over there heads and grasping at straws. Perhaps they are.

By the way. At least for a few more weeks I am one of those people running the sim on a lower end system. Two or three more fps for me and those that spent thousands on there rigs can go pound sand. Ya good idea.

1 Like

To respond to this particular point; The 5950X is a 16 core / 32 thread beast of a CPU, optimized for productivity workloads like rendering or video editing.

You’ve already noticed the workings of the main thread; this thread syncs up all the workloads moved to the other cores. A sim (and almost all games) will not be able to utilize all the cores/threads of a 5950X. So keep the type of workload you’re going to throw at a CPU in mind when making purchasing decisions. You might see a benefit in those photogrammetry areas by going to a 5800X let’s say, but the extra cores provided by a 5900X or 5950X will not be utilized by the sim.

4 Likes

Thanks for talking me off the ledge :smiley:

No problem at all. I’ve seen too many people spending big cash on over the top CPU’s, and then complaining that it’s Asobo’s fault that the sim is not leveraging all their cores :slight_smile: Happy to help.

Although, I just came across this video… https://www.youtube.com/watch?v=xxcTRDFivLA

Interestingly, I get around 40fps with my CPU and a 3090 touring around Tokyo in the Cessna. With the new 5950X and the same GPU, he is getting 50% more FPS than me. Now of course this is a dense photogrammetry area, and I suspect this CPU is sitting idle in most other areas, but there is definitely a case to be made for CPU upgrades for this game - especially if you want higher LOD and Photogrammetry.

We have to wait for DX12 update (VR) and hope it will use more CPU cores (it will of course, but for what result…)
DX12 will lead to a better multi cores CPUs optimization.

I hope you’re right… the CPU seems to be doing too much heavy lifting in this game.

You’re currently running a 8C/8T CPU from last gen intel. He’s running a brand new Ryzen CPU (with much better IPC than Intel). I’m pretty sure the performance increase you’re seeing is based more on the IPC/architecture increases than based on the amount of cores/threads.

The 5800XT is 8C/16T, so already 8 threads more than your current CPU. I’m fairly certain you’d get the same results with the 5800X, hell, even with the 5600X judging by some benchmarks I’ve seen.

On MSFS (and almost all games) single core performance is still more important than core count, as long as you have 6C/12T at minimum (and the whole Ryzen 5000 series are single core performance beasts).

Stop spreading those rumours.

The devs have already stated that DX12 will only give a minor performance boost, if any at all.

Where is this folder that you can change LOD?