Ian P's Dark Corner

FSX WW2 Scenery and whatever else I put here!

Fixed One, Broke Two More…

OK. So. I fixed FSX, by reinstalling a keyboard driver.

This isn’t quite as odd as it sounds, when you consider that the problem turned out to be in part of the Microsoft Visual C++ Redistributable files, which any C++ application needs installed to run. The problem is that there are umpteen of these things installed, so which one is broken? Apparently, whichever one is installed by the Logitech keyboard and mouse software. So that’s fixed. Excellent. Now I can release Raydon and Banff… Except that I can’t. This time, the problem is Drawcall Batching.

Drawcall Batching is extremely useful. It was introduced with FSX SP2/Accel and basically means that if any objects share exactly the same materials, that material is loaded for all objects at once, rather than individually per object. Therefore, if you’re loading one Nissen Hut model 50 times, as part of an airfield, you do it effectively in one draw call, not 50. This makes a massive difference in the performance of the scenery, when a lot of objects are being called.

Unfortunately, it’s not perfect. It’s FSX, so we’d be amazed if it was, right? In this instance, what people have discovered is that too many objects (or more precisely too many polygons) within a batched drawcall causes the objects to simply not appear. Well. They appear, but then disappear. To make matters more annoying, if you change the viewing angle and force them to be drawn again, they’ll reappear, then disappear again! You know those 50 Nissen Huts? Well apparently they’re too many. So use LODs to reduce the number of polys, right? Well, no. Because LODs only work if you put in an animation, in FSX SP2, to force the redraw to show a different LOD model*… But putting in an animation blocks drawcall batching, so performance takes a major kick in the teeth.

Banff and Raydon both suffer from this.

The solutions are to either remove drawcall batching (I’ve done this for the smallest toilet block and proven it works, already), block drawcall batching by putting in a “fake” animation, or to create the entire scenery as a single mdl file… Which is possible, if you want me to develop for DTG FS World, P3Dv5 or X-Plane 12. All of which will hopefully have fixed this bleepin’ drawcall issue anyway!

Right now I’m going to create another type of Ops Block while I ponder the problem. I might even put down some more trees on the TS2017 Wenlock Branch. Yes. I’m that narked with FSX at the moment.

* Level of Details are part of the same MDL file, but different physical models within it.

Leave a Reply

Website Security Test