Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MSFS Auto FPS App

Featured Replies

  • Author
57 minutes ago, History said:

Hello. Curious if it is normal for fps to decrease a bit when the app starts? For a comparison, it doesnt happen when using the MSFS 2024 dynamic setting. And all of this is even before applying Lossless Scaling frame gen. Thank you

If you are using the Start Max option in the app, then yes your FPS could start lower because of the higher starting level of TLOD. If not using that option and your FPS drops, that implies your minimum TLOD is too high and should be no different than if you manually set this TLOD in MSFS without using this app. Dynamic Settings may not decrease your FPS because it is brutally fast at butchering both TLOD and OLOD, so choose your poison wisely.

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

  • Replies 4.5k
  • Views 749.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Developing this app has reignited a joy of coding I haven't experienced for many years. I benefit from the app too, so there is a bit of self interest going on. Also, yours, and others, feedback has h

  • Reset XPDR
    Reset XPDR

    Following no major issues being identified in the test phase that haven't already been resolved, I have just formally released MSFS_AutoFPS v0.4.2.16 here. Thank you to everyone who participated in th

  • Ray Proudfoot
    Ray Proudfoot

    Are you aware this is how FSUIPC was created many years ago? It takes a very clever person to disassemble a executable and analyse the contents. The original UIPC was created by Adam Zofran and then P

Posted Images

36 minutes ago, Reset XPDR said:

If you are using the Start Max option in the app, then yes your FPS could start lower because of the higher starting level of TLOD. If not using that option and your FPS drops, that implies your minimum TLOD is too high and should be no different than if you manually set this TLOD in MSFS without using this app. Dynamic Settings may not decrease your FPS because it is brutally fast at butchering both TLOD and OLOD, so choose your poison wisely.

Okay. I am still learning this amazing and powerful tool, never flown without it since 2023. I seem unable to find Start Max option, or probably "Recover" option? Thank you again

DA B760M PRO4 | i5-13400F | RTX 3060 12 GB | G.Skills Ripjaws 32GB | MSI MAG A550BN | Ace Power 1 TB NVMe  | Cooler Master Hyper 212

  • Author
5 minutes ago, History said:

Okay. I am still learning this amazing and powerful tool, never flown without it since 2023. I seem unable to find Start Max option, or probably "Recover" option? Thank you again

If by "recovery" option, you mean something that resets all settings in the app, just rerun the installer, select Reset Configs then Update. Warning, this will reset all app profiles to default for MSFS 2020 and 2024, not just the current profile, so make sure you really want to do this.

Untitled.png

Start Max is shown here:

Untitled.png

It defaults to disabled, so if you are unaware of it you likely don't have it enabled.

Just leave it unchecked and set a reasonable TLOD min and you should be right.

Edited by Reset XPDR

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

10 minutes ago, Reset XPDR said:

Start Max is shown here:

Untitled.png

It defaults to disabled, so if you are unaware of it you likely don't have it enabled.

Just leave it unchecked and set a reasonable TLOD min and you should be right.

Thank you so much.

It seems this fps drop is also due to FSLTL injected by my BATC + GSX. It is no way those do not affect performance. Previously I exclusively flew helicopters and warbirds.

Thank you again for the amazing app.

DA B760M PRO4 | i5-13400F | RTX 3060 12 GB | G.Skills Ripjaws 32GB | MSI MAG A550BN | Ace Power 1 TB NVMe  | Cooler Master Hyper 212

I think I have indentified the culprits. I ticked the Autofps MSFS 2024 performance mode which might not work well on my system. Secondly, I did unclean reinstall (leave the cloud data and configurations uninstalled). The last time reinstalling the sim was SU Beta 3 :D. I also reinstalled AutoFps. And the sim is now super smooth

Edited by History

DA B760M PRO4 | i5-13400F | RTX 3060 12 GB | G.Skills Ripjaws 32GB | MSI MAG A550BN | Ace Power 1 TB NVMe  | Cooler Master Hyper 212

  • 2 weeks later...

Just saw this vid and I find it a good one :

5950x3d 5.4-5.7 GHz - Asus ROG 870 Crosshair Apex - GSkill Neo 2x 24 Gb 6000 mhz / cas 26 -  MSI RTX 5090 Gaming Trio OC - 1x SSD M2 6000 2TB - 1x SSD M2 2800/1800 1Tb -  Corsair 5400  case - Corsair 360 liquid cooling set  - 3x 75’ TCL tv.

13600  6 cores @ 5.1 GHz / 8 cores @ 4.0 GHz (hypterthreading on) - Asus ROG Strix Gaming D - GSkill Trident 4x Gb 3200 MHz cas 15 - Asus TUF RTX 4080 16 Gb  - 1x SSD M2 2800/1800 2TB - 2x  Sata 600 SSD 500 Mb - Corsair D4000 Airflow case - NXT Krajen Z63 AIO liquide cooling - FOV : 200 degrees

My flightsim vids :  https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0

 

@Reset XPDR
I have an issue with AutoFPS, that I'm not sure whether its me or the app.
This is in the Fenix at EGLL Inibuilds with pretty much max settings.

autofps-issue.jpg

This image shows AutoFPS active and some metrics through rivatuner.
Notice the frame-time spikes and the 1% and 0.1% lows, which are linked. Table of results with varying TLOD/OLOD values is below.

TLOD OLOD 1% low 0.1% low
50 50 64 60
80 50 48 40
80 200 46 43
150 50 16 15
300 200 18 18

What this means in practice is that higher TLOD values specifically result in these approx 1hz frame-time spikes. That correlates with the fps drops, and results in stutters in the sim, destroying smoothness. The depth of the spikes, and the drop in 1% and 0.1% lows, scales consistently up to a point with varying TLOD values.

Now, AutoFPS doesn't seem to care about this, and monitors fps values overall, thinks everything is fine and ramps up the TLOD, causing the stutters.
[This is not evident at other airports I've tested, presumably because the TLOD load at those locations isn't great enough to have resulted in whatever causes the 1Hz cycling and the consequent frame-time and stutter problem.]
Further tests reveal a correlation with photogrammetry on/off as well. High photogrammetry locations exhibit a much lower TLOD threshold for appearance of the frametime-spikes and resultant stutters.

image.png?ex=6a3f9097&is=6a3e3f17&hm=be338910ccf522d48c011142affbd6ff1724daf3d015174ee12bf3d78aa6a6dd&

Questions:
1. Is the 1hz cycle related to AutoFPS? I've eliminated pretty much every other possible causality with no joy.
2. Am I using AutoFPS wrong to be getting this result? Would different settings eliminate or reduce this problem?
3. If not, could AutoFPS target 1% lows rather than the headline fps? Or photogrammetry?

Many thanks for your consideration.

Cheers K

Edited by kevinfirth

Kevin Firth - AMD 9800X3D; Asus Prime X670E; 64Gb Cas30 6000 DDR5; RTX5090; AutoFPS

  • Author
13 hours ago, kevinfirth said:

1. Is the 1hz cycle related to AutoFPS? I've eliminated pretty much every other possible causality with no joy.

AutoFPS does work on two asynchronous 1Hz cycles, one for the automation logic and one for the UI display updating, but I can get those 1Hz spikes in MSFS if I set the TLOD high enough, beyond what is settable in MSFS settings eg 1000, in the UserCfg.opt file and not have AutoFPS running. Also, if you are not seeing any changing values in AutoFPS when these spikes occur, which it looks like you weren't with your TLOD sitting at TLOD max and being displayed green, then AutoFPS is not injecting anything into MSFS and hence is likely not the cause.

13 hours ago, kevinfirth said:

2. Am I using AutoFPS wrong to be getting this result? Would different settings eliminate or reduce this problem?

You are using FreeTLOD with a high TLOD max and a complex aircraft at a complex airport surrounded by complex photogrammetery, so I would say your AutoFPS settings are too aggressive for this scenario. I would be using TLOD Min 50 and TLOD Extra, not Free TLOD, here and limiting it to TLOD 100 (ie. x2 multiplier) for better results on the ground here.

13 hours ago, kevinfirth said:

3. If not, could AutoFPS target 1% lows rather than the headline fps? Or photogrammetry?

I'd have to think about this some more but my gut feeling is no as the app doesn't have access to 1% low FPS like RTSS can produce and I'm not sure how I would use this without dumbing down the experience for everyone for what is really an edge case that could easily be spoofed by quick view changes.

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

10 hours ago, Reset XPDR said:

You are using FreeTLOD with a high TLOD max and a complex aircraft at a complex airport surrounded by complex photogrammetery, so I would say your AutoFPS settings are too aggressive for this scenario. I would be using TLOD Min 50 and TLOD Extra, not Free TLOD, here and limiting it to TLOD 100 (ie. x2 multiplier) for better results on the ground here.

Before you posted this I'd re-assessed and changed settings to TLOD Min 70, extra x1.5 😁

10 hours ago, Reset XPDR said:

I'd have to think about this some more but my gut feeling is no as the app doesn't have access to 1% low FPS like RTSS can produce and I'm not sure how I would use this without dumbing down the experience for everyone for what is really an edge case that could easily be spoofed by quick view changes.

Understand completely, its easier for edge cases users like me to just limit settings themselves, I get it!

10 hours ago, Reset XPDR said:

AutoFPS does work on two asynchronous 1Hz cycles, one for the automation logic and one for the UI display updating, but I can get those 1Hz spikes in MSFS if I set the TLOD high enough, beyond what is settable in MSFS settings eg 1000, in the UserCfg.opt file and not have AutoFPS running. Also, if you are not seeing any changing values in AutoFPS when these spikes occur, which it looks like you weren't with your TLOD sitting at TLOD max and being displayed green, then AutoFPS is not injecting anything into MSFS and hence is likely not the cause.

Understood, thanks for the info! Independent tests without AutoFPS show the same cyclic rythym. I experience the same, just was hoping to see AutoFPS manage the increase in TLOD and stop at the point the the 1hx cycle inherent in MSFS2024 becomes apparent.
I also reported this at: 1hz stutter caused by photogrammetry and TLOD - Bug Reporting Hub / Install, Performance & Graphics - Microsoft Flight Simulator Forums

Kevin Firth - AMD 9800X3D; Asus Prime X670E; 64Gb Cas30 6000 DDR5; RTX5090; AutoFPS

  • Author
13 hours ago, kevinfirth said:

was hoping to see AutoFPS manage the increase in TLOD and stop at the point the the 1hx cycle inherent in MSFS2024 becomes apparent.

I agree that would be useful. Despite nothing coming to mind right now of how to do that, I will keep thinking about a potential solution. At least we are now aware that when this issue occurs, backing TLOD down for that particular flight phase eradicates it.

Edit: It turns out that the RTSS interface I am using does support frame time buffer dumps of the last 1024 entries, but it just wasn't enabled. I have managed to expose it to AutoFPS, which is good news. Turning it into something that can reliably interpret 1Hz spikes without being fooled by other spikes will be a bit trickier but should be possible. I'll keep you posted on any major progress I make.

Edited by Reset XPDR

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

  • Author

A bit of progress today of MSFS periodic frame time spike detection. Turns out that the spikes are around, not at 1Hz, and can vary by+-0.2Hz. Also, on my system at least, it is really hard to get these spikes to trigger, with me having to resort to 1000+ TLOD to get it there, which often overflows my VRAM at that level even with 24GB available. Nonetheless, I seem to be able to detect the spikes, as evidenced in the following test log which shows TLOD increasing from 680 through to 900, at which point the spikes appear in the RTSS graph and are detected by the app:

2026-06-28 14:52:07.494 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:08.513 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:08.519 [INF] [ LODController:RunTick            ] VRAM Limiting Inactive 
2026-06-28 14:52:09.532 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:10.549 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:11.567 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:11.572 [INF] [ LODController:UpdateVariables    ] Mode:NFR FPS:30 Pri:TLOD+ 680 TLOD:730 TLODRng:50-2000 OLOD:200 AGL:16 FPM:0 GPU:53% VRAM:95% 
2026-06-28 14:52:12.581 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:13.602 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:14.623 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:15.643 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:16.666 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:17.690 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:18.714 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:19.733 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:20.752 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:21.770 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:21.776 [INF] [ LODController:UpdateVariables    ] Mode:NFR FPS:30 Pri:TLOD+ 752 TLOD:802 TLODRng:50-2000 OLOD:200 AGL:16 FPM:-0 GPU:60% VRAM:94% 
2026-06-28 14:52:22.793 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:23.815 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:24.844 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:25.866 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:26.888 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:27.906 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 0, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:28.927 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 2, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:29.949 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 1, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:30.968 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 1, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:31.988 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 1, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:31.993 [INF] [ LODController:UpdateVariables    ] Mode:NFR FPS:29 Pri:TLOD+ 852 TLOD:902 TLODRng:50-2000 OLOD:200 AGL:16 FPM:-0 GPU:55% VRAM:94% 
2026-06-28 14:52:33.006 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 1, Periodic: False, AvgInterval: 0.00s, StdDev: 0.00 
2026-06-28 14:52:34.024 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 3, Periodic: False, AvgInterval: 2.64s, StdDev: 2.45 
2026-06-28 14:52:35.043 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 4, Periodic: False, AvgInterval: 2.15s, StdDev: 2.11 
2026-06-28 14:52:36.063 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 5, Periodic: False, AvgInterval: 1.89s, StdDev: 1.89 
2026-06-28 14:52:37.090 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 6, Periodic: False, AvgInterval: 1.76s, StdDev: 1.71 
2026-06-28 14:52:38.111 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 5, Periodic: True, AvgInterval: 1.21s, StdDev: 0.08 
2026-06-28 14:52:39.129 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 6, Periodic: True, AvgInterval: 1.12s, StdDev: 0.13 
2026-06-28 14:52:40.148 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 7, Periodic: True, AvgInterval: 1.12s, StdDev: 0.13 
2026-06-28 14:52:41.172 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.12s, StdDev: 0.13 
2026-06-28 14:52:42.199 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: True, AvgInterval: 1.12s, StdDev: 0.13 
2026-06-28 14:52:42.205 [INF] [ LODController:UpdateVariables    ] Mode:NFR FPS:26 Pri:TLOD+ 908 TLOD:958 TLODRng:50-2000 OLOD:200 AGL:16 FPM:-0 GPU:59% VRAM:95% 
2026-06-28 14:52:43.219 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 10, Periodic: True, AvgInterval: 1.12s, StdDev: 0.13 
2026-06-28 14:52:44.240 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 10, Periodic: False, AvgInterval: 0.95s, StdDev: 0.34 
2026-06-28 14:52:45.264 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 10, Periodic: False, AvgInterval: 0.96s, StdDev: 0.34 
2026-06-28 14:52:46.284 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: False, AvgInterval: 0.95s, StdDev: 0.34 
2026-06-28 14:52:47.305 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: False, AvgInterval: 0.97s, StdDev: 0.35 
2026-06-28 14:52:48.323 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 10, Periodic: False, AvgInterval: 1.04s, StdDev: 0.36 
2026-06-28 14:52:49.346 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: True, AvgInterval: 1.20s, StdDev: 0.07 
2026-06-28 14:52:49.353 [INF] [ LODController:RunTick            ] VRAM Limited Hold Activated @ 96% 
2026-06-28 14:52:50.364 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: True, AvgInterval: 1.17s, StdDev: 0.10 
2026-06-28 14:52:51.386 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 10, Periodic: True, AvgInterval: 1.17s, StdDev: 0.10 
2026-06-28 14:52:52.405 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: False, AvgInterval: 0.96s, StdDev: 0.38 
2026-06-28 14:52:52.415 [INF] [ LODController:UpdateVariables    ] Mode:NFR FPS:25 Pri:TLOD+ 942 TLOD:992 TLODRng:50-2000 OLOD:200 AGL:16 FPM:-0 GPU:59% VRAM:96% LTD 
2026-06-28 14:52:53.430 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: False, AvgInterval: 0.97s, StdDev: 0.39 
2026-06-28 14:52:54.455 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: False, AvgInterval: 0.98s, StdDev: 0.39 
2026-06-28 14:52:55.479 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: False, AvgInterval: 0.98s, StdDev: 0.39 
2026-06-28 14:52:56.499 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: False, AvgInterval: 1.02s, StdDev: 0.40 
2026-06-28 14:52:57.522 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: True, AvgInterval: 1.22s, StdDev: 0.01 
2026-06-28 14:52:58.542 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.22s, StdDev: 0.01 
2026-06-28 14:52:59.563 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.21s, StdDev: 0.01 
2026-06-28 14:53:00.579 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.22s, StdDev: 0.01 
2026-06-28 14:53:01.601 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.22s, StdDev: 0.00 
2026-06-28 14:53:02.619 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.21s, StdDev: 0.00 
2026-06-28 14:53:03.630 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: True, AvgInterval: 1.21s, StdDev: 0.00 
2026-06-28 14:53:04.641 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.22s, StdDev: 0.00 
2026-06-28 14:53:05.653 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.21s, StdDev: 0.00 
2026-06-28 14:53:06.671 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.24s, StdDev: 0.05 
2026-06-28 14:53:07.690 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.22s, StdDev: 0.06 
2026-06-28 14:53:08.710 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.22s, StdDev: 0.06 
2026-06-28 14:53:09.730 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 9, Periodic: True, AvgInterval: 1.22s, StdDev: 0.06 
2026-06-28 14:53:10.748 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.23s, StdDev: 0.06 
2026-06-28 14:53:11.768 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.23s, StdDev: 0.06 
2026-06-28 14:53:12.791 [DBG] [ ServiceController:UpdateAverageF ] Spikes: 8, Periodic: True, AvgInterval: 1.20s, StdDev: 0.03 

What it looks like graphically when the spikes are steady state @ 966 TLOD.

Untitled

Anyway, a bit of progress but still far from being reliable.

Edited by Reset XPDR

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

  • Author

More progress on spike detection. I have improved the spike detection algorithm so that it fires reliably when the spikes are periodic and consistent, as experienced when the MSFS graphics engine gets overloaded. The app can also now reduce TLOD until the periodic spiking stops.

Here's a screenshot of it in action, with the top red box showing that periodic spiking is currently being detected, TLOD is reducing accordingly despite having ample FPS headroom to increase (TLOD Max is 2000 here), and the bottom red box shows that TLOD is currently being limited by this periodic spiking.

Untitled.png

Once spiking is no longer detected, the TLOD reductions will stop and the status line will show you that spike limiting is still active.

Untitled

Recovery is still a work in progress, as my initial attempt at making it time based while stationary just results in a similar TLOD trigger point reactivating it, so while on the ground it is probably best to not attempt recovery at all. I am currently toying with a distance/AGL/VS based recovery which would only attempt recovery after a certain distance from the location of the last activation, require that you are not descending (ie. conditions are likely to worsen, not improve) and tie the recovery rate to your AGL whereby the lower you are the slower it will recover. Something like that anyway.

Oh and AutoFPS 0.5.1.0 is working functionally fine with the just-released MSFS2024 SU 5.1. The only very minor issue is that in non-Expert mode, the MSFS version will show as MSFS2024 SU5, not SU5.1, and that is because MS/Asobo strayed from their usual SU naming conventions when putting SU5.1 out. The soon to be released 0.5.2.0-test2 and later will correctly show it as SU5.1 eg.

Untitled

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

@Reset XPDR

5 hours ago, Reset XPDR said:

Recovery is still a work in progress

Work in progress maybe, but you're still miles and miles ahead of M$/A$obo in terms of addressing this particular issue, not to mention just superb functionality and transparency that bodyslams the in-sim 'dynamic settings' into the ground! 🤣

Kevin Firth - AMD 9800X3D; Asus Prime X670E; 64Gb Cas30 6000 DDR5; RTX5090; AutoFPS

  • Author

I think I have a pretty good working prototype of the new periodic spike protection functionality, so I have released it in 0.5.2.0-test2 here.

For you to see it working, you must be using Expert settings in FPS Sensitivity mode and preferably using either TLOD Extra or Free. You must also have RTSS running in the background, which is available stand alone or comes bundled with MSI Afterburner and have Frametime selected to be monitored. It will work regardless of whether you have chosen MSFS or RTSS as the FPS source, as it is just looking for the availability of the RTSS frame time buffer.

From my limited experience testing this on my system, to get it to activate you have push your system hard, and I mean REALLY hard. eg. I have to load up at a complex airport with surrounding photogrammetry like KLAX in an airliner, the more complex the better, and set TLOD limits very high. The app defaults to a max possible TLOD of 1000, so if you need to go past this you will have to edit your MSFS2024_AutoFPS.config file in the %appdata%\MSFS_AutoFPS folder and edit this key eg.

  <add key="simMaxLod" value="2000" />

eg. I have to use the following settings at default KLAX sitting at parking spot E9 to get it to trigger, and sometimes setting up for it will exhaust all 24GB of my VRAM and turn things into a slide show or freeze the sim. The lightning symbol next to the FPS reading means that a periodic spike sequence is currently being detected, the one next to the TLOD range on the status line means that TLOD max has been reduced as a response to the occurrence a periodic spike sequence event. If the feature causes any issues, such as falsely detecting too often or any other weirdness, you can disable it by unchecking lightning Prot, which will completely disable it, then let me know what the issue is.

Detected and TLOD starting to reduce:

Untitled

Reductions complete and stable with no more periodic spikes:

Untitled.png

Associated frame time time line of before and after:

Untitled

As such, do not attempt such high TLOD setting unless you are aware of the potential side effects and like a bit of adventure. In fact the main reason I am posting this here, and not on my github discussion page, is I also want to know whether these periodic spikes are detected with more normal settings and if so are they actually real ie. not false detections.

Also note that for recovery to occur, you must be at least 1.5nm, above Alt TLOD Base and level or climbing from where it activated. The higher, further and greater the upwards VS, the quicker it will recover. This is to prevent the periodic spikes from reoccurring too often because in my testing they do not get better with time alone while stationary.

Anyway, for @kevinfirth who asked this, and anyone else willing and able, please give it a try. If anyone has short feedback, post here in this thread, but if it is anything that is complex or needs many to and fro messages, please resort to a PM with me or post up on the github discussion for this test release here.

Edited by Reset XPDR

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

  • Author

For those trying periodic spike detection, I strongly suggest you have Test+ selected as your update channel so that you are always at least notified of test version updates for this. eg. I have just released 0.5.2.0-test3 and it has some notable improvements to periodic spike detection that are worth staying current with.

Untitled.png

I normally have the update option set to Silent Updates, which will instantly install any new update, but I changed it here to Show Updates to show what you will see if you prefer to not have this automated like I do.

Edit: Also, this is what I mean in the post above by ensuring that Frametime is monitored in MSI Afterburner for this to work, which is the tick next to Frametime on the blue highlighted line. Although not required, it also helps to show the frametime in the OSD as both text and a graph so that you can clearly see when the periodic spike are happening:

Untitled.png

Untitled.png

Edited by Reset XPDR

9800X3D | 4090 | 64GB | 2+1TB NVME | 2TB SSD | 2TB HDD | 85/50/43” TVs | Quest 3 | DOF H3 Motion Rig | Buttkicker | T.16000M Flight Kit

MSFS @ 4K Ultra DLSS Performance FG 80 FPS |  VR VDXR Godlike 80Hz SSW | MSFS VR DLSS Quality, Ultra Preset - Windows 11

Acer Nitro 5 | i5-11400H | RTX 3060 6 GB | 32GB DDR4 | 15.6" FHD IPS 144Hz | 2 x 512 GB SSD | Windows 11

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.