And test I did! I loaded up a flight for a few hours in Las Vegas tonight, (which had bad weather, rain and clouds) with FlyTampa Vegas Scenery. It’s always hard on my system, usually worse than even Tokyo, so it was a good testing round.
System Specs:
Asus ROG Dark Hero Viii Motherboard
AMD Ryzen 5950x SMT off, PBO@5Ghz
32GB PC3600 Mem XMP Enabled
2TB Samsung 9800 PRO NVMe SSD
Gigabyte Gaming OC 4090
HP Reverb G2
Thrustmaster HOTAS and Pedals
ButtKicker Gaming Plus
For settings:
ULTRA settings, everything maxed, 350GB rolling cache, Real-time air traffic
OpenXR 100% (3176x3104), TAA 100, TLOD 150, OLOD 150
OpenXR Toolkit Motion Reprojection Enabled (UNLOCKED)
Fixed Foveated Rendering Quality (Wide) Preset
FSR Upscaler Disabled
OpenXR Toolkit AMD FidelityFX Contrast Adaptive Sharpening (CAS) 100%
Turbo Mode Disabled
HAM Masking Disabled
Latency Statistics
This is a very welcome change! Now everything is read in milliseconds (ms) and the changes you made to measuring latency was immediately showing CPU bottlenecks that were never shown before. This allowed me to fine tune a lot easier than ever before. The CPU bottleneck was mainthread, rdr thread is never an issue.. so I went in and dropped TLOD from 200 to 150 and voila! appCPU and appGPU are very often within 1ms of each other.
What I found interesting was that when disabling MR, my appGPU and appGPU are perma locked together. Nearly identical numbers and shows CPU Bound within ~.6 ms. Maybe you can explain this a little better because I get a bigger variation between these two numbers when in MR.
It’s also interesting to be GPU bound or balanced between the CPU and GPU, to suddenly see “CPU BOUND” when flying over airports. It sticks out like a sore thumb, and just further proves how CPU intensive MSFS is, particularly around airports. And you can watch it go CPU bound for a few seconds (depending on the airport) doing it’s thing, loading in objects, planes, AI, traffic… and then it’s done. Back to GPU bound. Anyway, I found it kind of liberating to be able to see this now.
High Rate Statistics
This is actually a pretty cool feature, because I am able to spot CPU bottlenecks that last milliseconds.. and it’s surprising how often this occurs. These little blips correspond with what these forums always call random “stutters” with no explanation for what’s causing it. The CPU is definitely doing -something- but I don’t know what it is.
It’s also important to point out here, that running high rate statistics APPEARED to have more of a performance overhead. While monitoring appCPU and appGPU, and switching this on and off seems to have an impact, but I can’t say for sure.. @mbucchia you can chime in on this one.
AMD FidelityFX Contrast Adaptive Sharpening (CAS) in OpenXR Toolkit
I disabled the FSR upscaler and went with CAS sharpening only in OpenXR Toolkit. It’s important to note here, I set the in-game MSFS settings CAS slider to 0. Set CAS in OXRTK to 100% and compared visuals. It’s slightly less sharp than FSR sharpening (if barely) but noticed that it works extremely well and doesn’t create artifacting/wobbling/shimmers like I see with the built-in MSFS CAS slider. Also, with the upscaler disabled (because i’m running native and not upscaling anything) it definitely runs slightly smoother in MR… It’s so subtle it isn’t something you would see in the framerate or statistics. It’s just.. smoother ever so slightly.
I almost wished I could set the CAS sharpening more than 100% as it isn’t as aggressive in sharpening the scene quite like FSR is. I don’t know if this is something you can do, but it’s worth thinking about.
Turbo Mode
Oh boy, this is a hot mess. Haha! Kind of. If I leave “MR on” which you explicitly state not to do, (but I did it anyway cuz, fun!) it appears OXRTK kills the MR lock anyway… but I get 500ms pauses every second and it’s really weird. Hard to explain. What I found is, it actually works better if you intentionally set OpenXR MR to Disabled and OXRTK to Disabled, and then try out Turbo Mode. This time, I actually got “smooth” results for as smooth as this thing can be… it kind of works and you can tell the system is high strung. It does work, but it’s not something I will ever use. In fact, it crashed my sim and that was enough for me. lol
Frame Throttling
When I turned off MR I decided to try limiting frames to 45FPS just to see how it performed. Seemed fine. Nothing to really add here.
Conclusion
So far with a few hours of testing tonight, I am extremely pleased with the new features. The ability to see CPU bottlenecks accurately now, allowed me to tweak my settings (particularly TLOD) and find that “sweet spot” that I could only kind of guesstimate before. Using CAS not only looks good, but it doesn’t create artifacts or shimmering like the built-in MSFS CAS slider does. I have no idea why this is… you would think they are the same thing. But something with the built-in MSFS CAS setting does NOT play nicely with Motion Reprojection in OpenXR. I have tested this over and over again and I have to leave it at 0. BUT it’s great cranking up the CAS in OpenXR Toolkit, disabling the upscaler (because I don’t need it) and I have very acceptable performance.
Stutters still exist sadly. This just happens in densely populated areas or the dreaded airports. Faster CPU’s will hopefully alleviate this in the future. I may swap out my 5950x for a 5800x3D and compare. This will be much easier to test, now that the statistics for appCPU frame time measurements is “fixed”.
I’m a very happy camper with this release, and I think it’s going to help a lot of people fine tune their setups. Thanks Matt for another great version. Let me know if you would like me to test something out!