Lots of optimization features used within industry game engines (Unreal, Unity, CryEngine, etc.) use LODs on a per-object basis. Of course, there are too many objects within the world of MSFS, but having support for per-object LODs in the user’s aircraft can help to increase performance especially considering that new airliner aircraft are in the 5 million polygon range or higher. I don’t mean an LOD per model file (aka per .GLTF model) but I mean per-object at the sub-model level (aka, two cubes in a single .GLTF model are treated separately in the context of LODs). Per object LOD can help to reduce drawcalls when merging multiple materials at low LODs, such as with tools like InstaLOD. Overdraw is extremely present in distant objects such as looking down the aisle of an airliner’s cabin and memory usage tends to be very high as we cannot use a lower resolution material as LODs don’t exist for the player’s aircraft and all 4K textures (some even use 8K!) are all being stored in the GPU’s VRAM which strains the limited amounts of it we already have especially considering DX12 doesn’t play nice with VRAM overruns.
The sim appears to already support this concept.
Not according to this page in the SDK.
Force User LOD 0
This option will be on by default and will force the user aircraft to always show LOD 0 (the most detailed). Disabling this option will permit the user aircraft to go through the available LODs when you change the exterior camera.
Their approach is slightly different from per-object LOD. This is not that. Their approach is more like splitting multiple object files into different parts instead of having per-object LOD at the sub-model file level.
The doc is wrong, LOD0 isn’t forced in 2024, you can see that by opening the debug and you’ll see parts of the aircraft are at lower LODs. It was forced in 2020 however.