This code snippet contains configuration settings for optimizing the performance...

August 18, 2025 at 04:00 AM

This snippet of code comes from a recommended setting by the developers of Falcon BMS 4.38 flight simulator // Generic CPU and Multi threading Performance Config Variables suggested by Devs: set g_nObjListWorkSizeHint 280 // Default value: 1500 (a good balance) – Valid values are 100 - Maximum parallelism, 3000 - almost no parallelism set g_nAdditionalWorkers 2 // Default value: 0 a value of 2 will add threads, -8 to reduce HT cores. set g_nMinFrameTimeMs 4 // Default value: 4 which should promise no more than 250 FPS on Sim thread. 18 ms = 60 FPS 11 ms = 90 FPS Higher values may cause some problems. set g_fNewTerrainTessellationFactor 0.35 // Reduced terrain mesh Tessellation distance - Medium-High on Terrain only (was 0.1 set g_fAnisotropicLevel 1.000000 // Lower filtering for iGPU Here are some actual figures for what is happening with my AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx, 2000 Mhz, 4 Core(s), 8 Logical Processor(s). g_nObjListWorkSizeHint set to 280 gives me 34.6 FPS on the ground, CPU 54%, Memory (16 GB) 70%, RX560 90%, Radeon Vega 8 9%. What setting do I use to improve this? I have Vertical Sync on which limits the max FPS to 60 because my monitor is a 28" Phillips 284E which has a resolution of HD 1920 x 1080 @ 60Hz. Falcon BMS 4.38 is also started with Priority High and Affinity set to 2-5 cores of 8 cores, the rest are set to Normal and for use with TrackIR5 and VoiceAttack What do you think of this configuration?

This code snippet contains configuration settings for optimizing the performance of the Falcon BMS 4.38 flight simulator for your hardware. Let me break down what each part of the code does and how it relates to performance:


1. g_nObjListWorkSizeHint

set g_nObjListWorkSizeHint 280
  • Purpose: Determines the size of the object list work queue, which directly affects the degree of CPU multi-threading and parallelism in the simulator.
  • Behavior:
    • Low values (e.g., 100): Maximum multi-threading/parallelism and utilization of CPU cores.
    • High values (e.g., 3000): Reduced parallelism, potentially increasing load on a single thread or core.
  • Default value: 1500
  • Your setting: 280
    • Aimed at increasing parallelism to better utilize all your logical processors (8 in total). The low value leans towards balancing performance for CPUs with modest specs like your AMD Ryzen 5 2500U.

Recommendation: If you are CPU-limited (CPU usage close to 100%), you could increase this value slightly (e.g., 500 or 1000) to reduce parallelism slightly and reduce overhead on multithreading, as your CPU has only 4 physical cores. Experimentation may be needed depending on in-game behavior, particularly in complex scenarios.


2. g_nAdditionalWorkers

set g_nAdditionalWorkers 2
  • Purpose: Controls the number of additional worker threads created for processing tasks.
    • Positive values (e.g., 2): Increase the number of threads beyond the defaults.
    • Negative values (e.g., -8): Reduce the thread count, often used to disable Hyper-Threading (HT) cores.
    • Default value: 0 (No additional threads).
  • Your setting: 2
    • This adds 2 extra threads, ideally utilizing spare logical processors on your AMD Ryzen 5 2500U to improve multi-threaded performance.

Recommendation: Leaving this at 2 seems reasonable. If you encounter frame dips related to threading contention, consider reducing this to 1 or back to 0.


3. g_nMinFrameTimeMs

set g_nMinFrameTimeMs 4
  • Purpose: Sets a minimum frame time in milliseconds for each frame. This throttles FPS to avoid overloading the CPU with excessive frame rendering.
    • Lower values increase FPS (e.g., 4ms = 250 FPS cap).
    • Higher values reduce FPS cap (e.g., 18ms = 60 FPS cap).
  • Your setting: 4
    • Limits the simulator to approximately 250 FPS in the absence of other bottlenecks.
    • However, Vertical Sync (V-Sync) limits your FPS to 60 based on your monitor's 60 Hz refresh rate.

Recommendation: Given your monitor is capped at 60 Hz via V-Sync, you could increase this value to something near 16.6 ms to align with your monitor's 60 FPS limit, potentially offloading some CPU/GPU strain for better smoothness.


4. g_fNewTerrainTessellationFactor

set g_fNewTerrainTessellationFactor 0.35
  • Purpose: Controls the tessellation (or detail) level of the terrain mesh, affecting visual fidelity and GPU performance.

    • Lower values (e.g., 0.1) increase detail density but put more strain on the GPU.
    • Higher values (e.g., 1.0) reduce tessellation, improving performance at the cost of visual quality.
  • Your setting: 0.35

    • This is a moderate tessellation setting that balances quality and performance. Your GPU (RX560 + Vega 8) will benefit from this reduction compared to a default of 0.1.

Recommendation: Your setting is reasonable for your hardware. If your GPU load is consistently at 90% or higher and you want more FPS, consider increasing this value slightly to something around 0.5.


5. g_fAnisotropicLevel

set g_fAnisotropicLevel 1.000000
  • Purpose: Controls the anisotropic filtering level, which improves texture clarity at oblique viewing angles.

    • Higher values (2x, 4x, 16x) improve texture quality but increase GPU load.
    • A value of 1.0 disables anisotropic filtering, reducing GPU load significantly.
  • Your setting: 1.0

    • This disables anisotropic filtering entirely, optimizing performance for integrated GPUs like Radeon Vega 8.

Recommendation: Leaving this at 1.0 is reasonable, as anisotropic filtering is not critical and disabling it improves performance on your hardware.


6. Vertical Sync

  • V-Sync limits the FPS to match your monitor's refresh rate (60Hz), preventing screen tearing.
  • Since you’re using a 60Hz monitor, V-Sync effectively caps your frames at 60 FPS, regardless of the simulator's own settings.

Recommendation: Keep V-Sync enabled unless you notice stuttering or increased input latency, in which case you could try disabling it.


7. Priority and Affinity

  • Priority: High: Ensures Falcon BMS gets more CPU time compared to other processes.
  • Affinity: Limits Falcon BMS to cores 2-5, freeing up cores 0-1 for other tasks like TrackIR5 and VoiceAttack.

Recommendation: This is an effective way to utilize your CPU's resources. It prevents TrackIR5 and VoiceAttack from competing for the same resources as Falcon BMS. No changes needed here.


Final Thoughts/Recommendations for Improving FPS

  1. Monitor Your Bottleneck: Test whether your CPU, GPU, or RAM is the limiting factor during gameplay.

    • CPU > 90%: Increase g_nObjListWorkSizeHint slightly to reduce parallelism (e.g., try 500 or 1000).
    • GPU > 90%: Increase g_fNewTerrainTessellationFactor to reduce GPU load (e.g., try 0.5).
    • RAM > 90%: Reduce VRAM-heavy settings like g_fAnisotropicLevel or texture resolutions in the game’s settings.
  2. Synchronize Frame Rate:

    • Since your monitor is capped at 60 FPS due to V-Sync, consider increasing g_nMinFrameTimeMs to match (e.g., 16 ms = 60 FPS) rather than leaving it at 4 ms. This could help reduce CPU/GPU workload with no noticeable in-game difference.
  3. Experiment Incrementally:

    • Make small changes, test the simulator, and observe performance (FPS and resource usage). Falcon BMS is highly hardware-dependent, so achieving optimal performance may require tuning multiple parameters.

Your current configuration is practical and well-optimized for balancing FPS with visual quality on your AMD Ryzen 5 2500U. However, tweaking the above suggestions should help you squeeze out minor improvements.

Generate your own explanations
Download our vscode extension
Read other generated explanations

Built by @thebuilderjr
Sponsored by beam analytics
Read our terms and privacy policy
Forked from openai-quickstart-node