I think I have figured out how to measure Stutters directly.
Here is a screenshot of 3x 4K, A330-300 (TAA, Max 30, FSR FG, High + TLOD 300, in MSFS SU5.1 v1.7.28.0) landing at EGLL - something I wasn’t sure I’d ever achieve.
The MSFS FPS overlay looks pretty “red”, but in fact, the performance is fine. Not as buttery smooth as at cruise, but also not stuttering - a few minor stutters but I can’t complain. There were stutters approaching the coast of England, and over some random parts of the French countryside. My theory below.
The graphs show some interesting things (at least to me)
GPUMem will turn Yellow then Red over 24GB, which still seems arbitrary to me, I think they programmed it at a time when the RTX 4090 - with 24 GB of VRAM - was the most available. I do see PhysicalMem going above 12 GB on my own system for the first time.
But this is more telling about how MSFS behaves:
As I was flying from LIRF to EGLL, I noticed the CPU would spike everytime a scenery “Tile” would pop in - especially over a city with Photogrammetry and lots of objects to draw, and more especially near an airport for the same reason.
Just as interesting - If I panned my view in the cockpit quickly, it would do the same thing. My interpretation is that it has to load the aircraft textures that were out of view, but is also probably loading the scenery tiles (and their objects) even though they can’t be seen through the plane. This might explain the reports of stutters when changing intsrument views (my guess). My theory is that MSFS is now loading whatever is in line of sight (even if not visible from inside the plane).
This reinforces my belief that the sim is loading Tiles - and the contents - in bursts, and that can really hurt performance if it bumps in to CPU / RAM / GPU limits. The loading needs to be smoothed out.
HWInfo has the PresentMon stats, which show FrameTime, and then how “Busy” the CPU and GPU are during the FrameTime cycle. In my case, with 3 screens, surprisingly it’s the CPU that’s busy and the GPU waiting. I interpret this to be because there are 3x more scenery tiles and their objects for the CPU to process - since the view is now 3x wider.
But what’s really cool is “Animation Error” - which is a mismatch in timing… if the error rate reaches as high as the FrameTime, then you miss a frame - and see a stutter. Anything below that might be percieved as “less smooth” but not enough to be a stutter. So this is a pretty good direct measurement of stutters (I think).