Diagnosing Low FPS
Estimated Lesson Time: 50–60 Minutes
Lesson Overview
One of the most common questions in the Flight Simulator community is:
“Why is my FPS so low?”
Although this seems like a simple question, the answer is rarely straightforward.
Low FPS is not a diagnosis—it is a symptom. Before you can improve performance, you must first understand why the frame rate is low.
A simulator running at 35 FPS because the GPU is rendering at 4K Ultra settings requires a completely different solution from a simulator running at 35 FPS because the CPU is overloaded with AI traffic and glass cockpit calculations.
This lesson will teach you how to identify the true cause of low FPS by analysing system behaviour rather than relying on guesswork. You’ll learn how to distinguish between CPU limitations, GPU limitations, VRAM pressure, demanding airports, complex aircraft, weather conditions and third-party add-ons.
By the end of this lesson, you’ll be able to diagnose low FPS methodically and make targeted optimisations based on evidence rather than assumptions.
Lesson Objectives
By the end of this lesson you will understand:
What low FPS actually means.
How to identify CPU limitations.
How to identify GPU limitations.
What MainThread means.
How graphics settings influence FPS.
Why airports affect performance differently.
How aircraft complexity changes FPS.
AI Traffic and CPU workload.
Weather-related performance.
Add-on performance impact.
VRAM limitations.
How to identify the true bottleneck before making changes.
What Does Low FPS Actually Mean?
FPS stands for Frames Per Second.
It measures how many complete images your PC renders every second.
Examples:
30 FPS = 30 images per second.
60 FPS = 60 images per second.
120 FPS = 120 images per second.
Higher FPS generally produces smoother animation, but FPS alone does not tell you why performance is low.
Two systems may both achieve 40 FPS for completely different reasons.
The goal of troubleshooting is to identify what is preventing your PC from rendering more frames.
Low FPS Is a Symptom
Think of low FPS as a warning light on a car dashboard.
The warning light tells you something is wrong, but it does not tell you the cause.
The underlying problem could be:
- A CPU bottleneck.
- A GPU bottleneck.
- VRAM limitations.
- Heavy scenery.
- AI traffic.
- Weather.
- Add-ons.
- Background applications.
- Thermal throttling.
- Simulator updates.
Your job is to identify which of these is responsible before making any changes.
Understanding the Rendering Pipeline
Every frame in Microsoft Flight Simulator passes through several stages.
- The CPU performs simulation calculations.
- The CPU prepares rendering commands.
- The GPU renders the frame.
- The completed image is displayed on your monitor.
If either the CPU or GPU cannot keep up, FPS decreases.
The slower component determines the maximum frame rate.
CPU Limited Performance
A CPU bottleneck occurs when the processor cannot prepare frames quickly enough for the GPU.
Symptoms include:
- Low GPU utilisation.
- Developer Mode reports “Limited by MainThread.”
- FPS drops at busy airports.
- FPS decreases with AI traffic.
- FPS decreases with complex aircraft.
The graphics card may appear underused because it is waiting for the CPU to finish its work.
GPU Limited Performance
A GPU bottleneck occurs when the graphics card cannot render frames as quickly as the CPU provides them.
Symptoms include:
- GPU utilisation close to 100%.
- Developer Mode reports “Limited by GPU.”
- FPS improves when reducing graphics settings.
- Higher resolutions reduce FPS.
- Clouds and shadows heavily influence performance.
In this situation, lowering CPU-related settings has little effect because the graphics card is already operating at its limit.
Understanding MainThread
The MainThread is the primary CPU thread responsible for much of Microsoft Flight Simulator’s core simulation.
It handles tasks such as:
- Aircraft systems.
- Flight model.
- Glass cockpit calculations.
- Terrain management.
- AI traffic.
- Ground vehicles.
- Object placement.
When the MainThread becomes overloaded, it delays the delivery of new frames to the GPU.
Developer Mode will often display:
Limited by MainThread
This indicates that the CPU, rather than the graphics card, is the current performance bottleneck.
Graphics Settings
Many graphics settings directly affect GPU workload.
Examples include:
- Resolution.
- Render Scaling.
- Anti-Aliasing.
- Clouds.
- Reflections.
- Ambient Occlusion.
- Shadow Quality.
- Water Quality.
- Texture Resolution.
Reducing these settings generally improves performance only when the GPU is the limiting component.
If the simulator is MainThread limited, reducing these settings may have little or no measurable effect.
Airport Performance
Airports vary enormously in complexity.
A small rural airfield may contain only a few buildings and static objects.
A major international hub may include:
- Thousands of scenery objects.
- High-resolution textures.
- Dynamic lighting.
- Interior modelling.
- AI traffic.
- Ground vehicles.
- Animated jetways.
- Airport workers.
Large airports often increase both CPU and GPU workload simultaneously.
Aircraft Complexity
Aircraft are not equally demanding.
A simple Cessna 172 has relatively few systems.
A high-fidelity airliner such as the Fenix A320 or PMDG 737 simulates:
- Flight management systems.
- Electrical systems.
- Hydraulic systems.
- Cabin systems.
- Flight computers.
- Displays.
- Failure logic.
These additional calculations increase CPU workload significantly.
Complex aircraft often become MainThread limited even on high-end systems.
AI Traffic
Every AI aircraft requires:
- Navigation.
- Taxi calculations.
- Collision avoidance.
- Lighting.
- Animations.
- Position updates.
Increasing AI traffic raises CPU workload.
Symptoms include:
- Lower FPS.
- Lower 1% lows.
- Increased MainThread time.
- Stutters during taxi.
Reducing AI density can improve smoothness while maintaining a realistic environment.
Weather
Weather affects both CPU and GPU performance.
Volumetric clouds are particularly demanding on the GPU.
Heavy weather may include:
- Dense cloud layers.
- Rain.
- Fog.
- Storms.
These conditions require additional rendering work and may reduce FPS.
Live Weather can also introduce performance variation depending on the complexity of the atmospheric conditions.
Add-ons
Third-party add-ons influence performance in different ways.
Examples include:
High CPU impact:
- FSLTL.
- GSX.
- BeyondATC.
- Complex aircraft.
High GPU impact:
- Premium airports.
- Photogrammetry enhancements.
- High-resolution textures.
Always consider recently installed add-ons when diagnosing a performance drop.
VRAM Limitations
VRAM stores:
- Textures.
- Buffers.
- Geometry.
- Shadow maps.
- Terrain data.
If VRAM usage approaches or exceeds the available memory on your graphics card, you may experience:
- Stuttering.
- Texture pop-in.
- Lower FPS.
- Increased frame-time spikes.
Monitor VRAM usage during benchmark flights.
If VRAM is consistently close to maximum, consider reducing:
- Texture Resolution.
- Render Scaling.
- Resolution.
- Premium airport usage.
- Multiple high-resolution scenery packages.
Identifying the True Bottleneck
Before changing any settings, ask the following questions.
Is the GPU at 95–100% utilisation?
If yes:
Likely GPU limited.
Is Developer Mode showing “Limited by MainThread”?
If yes:
Likely CPU limited.
Is VRAM almost full?
If yes:
Investigate texture settings and memory usage.
Does FPS only drop at one airport?
If yes:
Investigate scenery complexity.
Does FPS only drop with one aircraft?
If yes:
Investigate aircraft systems and cockpit workload.
Did performance decrease after adding AI traffic?
If yes:
Investigate CPU workload.
Did performance decrease after changing graphics settings?
If yes:
Investigate GPU workload.
A Professional Diagnostic Workflow
When low FPS is reported, follow this sequence:
Step 1
Run your permanent benchmark flight.
Step 2
Record:
- Average FPS.
- 1% lows.
- GPU utilisation.
- CPU utilisation.
- VRAM usage.
- MainThread status.
- GPU temperature.
- CPU temperature.
Step 3
Determine the bottleneck.
CPU?
GPU?
VRAM?
Step 4
Form a hypothesis.
Example:
“The GPU is at 99% utilisation while MainThread is stable. The graphics card is likely the limiting factor.”
Step 5
Change one relevant setting.
Example:
Reduce Cloud Quality from Ultra to High.
Step 6
Repeat the benchmark.
Step 7
Compare results.
Did FPS improve?
Did frame pacing improve?
Did image quality change?
If not, restore the setting and test another hypothesis.
Worked Example
Problem
Average FPS has dropped from 68 to 44 at Heathrow.
Benchmark Data
GPU utilisation: 67%
VRAM: 12 GB of 16 GB
MainThread: Limited
CPU temperature: Normal
GPU temperature: Normal
Analysis
The GPU is not fully utilised.
VRAM has headroom.
Temperatures are normal.
Developer Mode reports MainThread limitation.
This strongly suggests a CPU bottleneck rather than a GPU limitation.
Lowering graphics settings such as texture quality or anti-aliasing is therefore unlikely to produce a significant improvement.
A better starting point would be to investigate:
- AI traffic.
- Airport workers.
- Ground vehicles.
- Terrain LOD.
- Object LOD.
- Glass cockpit refresh.
Common Mistakes
Lowering every graphics setting immediately.
Ignoring Developer Mode.
Assuming every FPS drop is GPU related.
Benchmarking different airports.
Testing multiple settings simultaneously.
Ignoring VRAM usage.
Chasing higher FPS instead of smoother frame pacing.
Student Exercise
Today you’re going to identify the true cause of low FPS during your benchmark flight.
Step 1
Run your permanent benchmark.
Record:
- Airport.
- Aircraft.
- Weather.
- Graphics settings.
Step 2
Monitor:
- Average FPS.
- 1% lows.
- GPU utilisation.
- CPU utilisation.
- VRAM usage.
- MainThread status.
Step 3
Determine which component is limiting performance.
Is it:
- CPU?
- GPU?
- VRAM?
Support your conclusion with evidence.
Step 4
Make one relevant optimisation.
Repeat the benchmark.
Compare the results.
Step 5
Document your findings in your Performance Profile.
Include:
- Cause of low FPS.
- Evidence.
- Change made.
- Improvement achieved.
- Final conclusion.
Student Low FPS Diagnosis Report
Benchmark Conditions
Airport:
Aircraft:
Weather:
Graphics Profile:
Performance Data
Average FPS:
1% Low:
GPU Utilisation:
CPU Utilisation:
VRAM Usage:
MainThread Status:
GPU Temperature:
CPU Temperature:
Diagnosis
Primary Bottleneck:
Evidence:
Test Performed
Single Change Made:
Results
Average FPS After Change:
1% Low After Change:
Overall Improvement:
Final Conclusion
Confirmed Cause:
Recommended Long-Term Solution:
Student Checklist
Benchmark completed.
FPS recorded.
GPU utilisation monitored.
CPU monitored.
MainThread checked.
VRAM usage recorded.
Bottleneck identified.
One change tested.
Results documented.
Lesson Summary
Congratulations.
You now understand that diagnosing low FPS is about identifying the limiting component rather than making assumptions based on the frame rate alone.
Remember:
- Low FPS is a symptom, not a diagnosis.
- CPU limitations, GPU limitations and VRAM pressure each require different optimisation strategies.
- Airports, aircraft, weather and add-ons all influence performance in different ways.
- Developer Mode, utilisation figures and benchmark data provide the evidence needed to identify the true bottleneck.
- Professional optimisation begins by understanding why performance is low, then applying targeted changes one at a time.
Knowledge Check
- Why is low FPS considered a symptom rather than a diagnosis?
- What signs suggest the simulator is CPU limited?
- What signs suggest the simulator is GPU limited?
- What role does the MainThread play in Microsoft Flight Simulator?
- How can AI traffic influence frame rate?
- Why might premium airports reduce performance more than smaller airfields?
- What symptoms can indicate VRAM limitations?
- Why should you identify the bottleneck before changing graphics settings?
- Why is it important to benchmark after every individual change?
- Based on your benchmark, what was the primary cause of your low FPS and how did you confirm it?