Occasional "major" CPU spikes

I resolved my MainThread spikes (overruns) by disabling the following two services:

  1. Windows Search (Provides content indexing, property caching, and search results for files, e-mail, and other content)
  2. User Energy Server Service queencreek (Intel(r) Energy Checker SDK. ESRV Service queencreek)

With MSFS running, I’ve witnessed each service utilize up to 10% of my CPU’s total capacity, with the User Energy Server Service specifically consuming resources in bursts.

I’m specifically referring to reoccurring spikes at set intervals - for example, my thread would show an increase in CPU utilization every second regardless of my settings and scenario (airport, aircraft, weather, AI traffic, etc.). Flying GA at a small airport would not result in overruns as the main thread cycle time remained under the maximum millisecond value to maintain a stable locked frame rate. However, simulating an airline environment with multiple addons resulted in overruns.

Generally speaking, I would consider the following overruns normal in MSFS:

  • The first 10 to 20 seconds after starting a new flight.
  • Switching between cockpit and external cameras.
  • External camera: Panning 360 degrees for the first time
  • Cockpit camera: Panning around the entire flight deck for the first time.
  • When ever MSFS loads scenery-dense areas, especially custom airports and cities.
  • Slow or unstable internet connection if you stream satellite data.
  • Changing the weather.
  • Switching between MSFS and a second display.

So, if you start a new flight, wait for say 30 seconds and monitor the Rendering FPS window part of developer mode without moving your view or applying any changes to your simulator (stationary at a gate for example), and still experience CPU spikes, chances are that a non-MSFS process is consuming valuable CPU resources. 3rd party addons can of course also cause overruns, so performance should ideally be measured with a clean copy of MSFS to establish a baseline.

This thread also mentions disabling the NVIDIA game overlay, which I would recommend as well.

Lastly, it might be worth mentioning that using the built-in V-Sync feature causes frame rate lagging, meaning that it takes a couple of seconds for the frame rate to catch up to your set locked frame rate value after an overrun occurs. For NVIDIA users, I highly recommend using nvidiaProfileInspector by GitHub user Orbmu2k as an alternative:

  1. Disable the MSFS V-Sync option.
  2. Edit the Microsoft Flight Simulator profile using the NVIDIA Profile Inspector by modifying the Vertical Sync option. I’m using 1/2 Refresh Rate for my 60Hz screen to lock my frame rate at 30.

My system:

  • Intel Core i9-12900KF
  • NVIDIA RTX 4070 12GB
  • 32GB RAM
  • Windows 11 Home
  • MSFS 1.38.2.0 (15805654)