This snippet of code contains performance-related configuration variables for optimizing...

August 18, 2025 at 07:42 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 Ok just tested it with the following settings and it seemed to fix a lot of the stutters, if any they are very small and not locking the screen view as before. // Generic CPU and Multi threading Performance Config Variables suggested by Devs: set g_nObjListWorkSizeHint 300 // Default value: 1500 (a good balance) – Valid values are 100 - Maximum parallelism, 3000 - almost no parallelism was 280. set g_nAdditionalWorkers 2 // Default value: 0 a value of 2 will add threads, -8 to reduce HT cores. was 2 set g_nMinFrameTimeMs 4 // Default value: 4 which should promise no more than 250 FPS on Sim thread. 16 caps the sim closer to 62.5 FPS due to VSync which is ON. set g_fNewTerrainTessellationFactor 0.25 // Reduced terrain mesh Tessellation distance - Medium-High on Terrain only (was 0.1 This config seemed to improve what I had at 280. CPU 42-49%, Memory (16 GB) 71%, RX560 84%, Radeon Vega 8 11%.

This snippet of code contains performance-related configuration variables for optimizing Falcon BMS 4.38, a flight simulator. The code allows fine-tuning of various resource management and rendering settings to achieve better performance, reduce stuttering, and match the capabilities of your system. Here's an explanation of what each setting in the configuration does:


1. set g_nObjListWorkSizeHint <value>

This setting controls the "parallelism" used for handling object lists (e.g., rendering or processing game objects).

  • Lower values increase multithreaded parallelism, utilizing more CPU threads for performance.
  • Higher values reduce parallelism but can create more stable performance by emphasizing single-threaded processes.
  • Original value: 280 → Adjusted to 300, slightly prioritizing stability while maintaining sufficient parallelism.

2. set g_nAdditionalWorkers <value>

This variable controls the number of additional worker threads allocated for parallel computation.

  • Positive values (e.g., 2) add threads to leverage multi-core CPUs for cooperative processing.
  • Negative values reduce Hyper-Threading (useful for CPUs with logical cores from SMT/HT; reduces load if virtual cores perform poorly).
  • Default value: 0 → Kept at 2, which allows the CPU to better utilize additional threads for smoother performance.

3. set g_nMinFrameTimeMs <value>

This setting specifies a minimum frame time in milliseconds (ms) to control the frame rendering interval.

  • Lower values allow higher FPS (e.g., 250 FPS with 4 ms, assuming the hardware permits).
  • Higher values are used to cap FPS and reduce stuttering or excessive GPU rendering.
  • With VSync on, the value of 4 ms equates to a theoretical maximum of 250 FPS, while 16 ms aligns closer to a 60 FPS cap (ideal for 60 Hz monitors).
  • Original value: 4 → Kept at 4 to ensure no more than 250 FPS but allowing VSync to align it closer to 60 FPS.

4. set g_fNewTerrainTessellationFactor <value>

This variable adjusts the terrain tessellation factor, which determines the level of detail in the terrain mesh generation.

  • Lower values (e.g., 0.25 or 0.1) reduce tessellation, improving performance but at the cost of lower terrain detail.
  • Higher values provide more detail but may cause performance drops due to increased GPU load.
  • Original value: 0.35 → Adjusted to 0.25, providing a good balance between medium-high detail and performance on your system.

5. set g_fAnisotropicLevel <value>

This setting manages the anisotropic filtering level, which improves texture quality at oblique viewing angles.

  • Lower values reduce filtering and lighten the GPU load, suitable for integrated GPUs or lower-end hardware.
  • Original value: Remains unchanged at 1.0, already minimal filtering, helping your iGPU (Radeon Vega 8).

Resulting Changes and Analysis:

  • The adjustments aim to address CPU and GPU utilization imbalances, stutters, and frame caps.
  • After changing g_nObjListWorkSizeHint to 300 and reducing tessellation further (0.25), the settings improve system-resource distribution:
    • Lower CPU usage (42-49% vs. 54%).
    • Slight drop in GPU load (RX560 drops to 84% from 90%), indicating reduced strain.
    • Memory usage remains consistent at ~71%, no significant bottlenecks here.
    • Radeon Vega 8 sees an increase to 11% usage, indicating slightly better load balancing between GPU and iGPU.

Recommendations for Further FPS Gains:

  1. Monitor Refresh Rate: Your 28" Phillips monitor caps at 60 Hz, so enabling VSync is appropriate. No need to chase much higher FPS as the display cannot present it.
  2. Affinity Management:
    • Setting Falcon BMS affinity to cores 2-5 spreads CPU work, allowing multitasking efficiency with TrackIR5 and VoiceAttack.
    • Ensure no other unnecessary background processes are using the same cores.
  3. Test with Lower Terrain Detail:
    • Consider lowering tessellation further (e.g., 0.2 or 0.1) if GPU usage peaks again.
  4. Reduce Anisotropic Filtering for GPU Relief:
    • Test g_fAnisotropicLevel with lower values if the RX560 utilization continues to hover near 90%.
  5. Further Frame Time Tuning:
    • Adjust g_nMinFrameTimeMs closer to 16 ms if FPS still exceeds monitor refresh rates, to avoid excess GPU overheating.

In conclusion, the revised settings reduce stuttering by balancing CPU and GPU utilization while respecting your system capabilities (AMD Ryzen 5 2500U and RX560). Further optimizations depend on trade-offs between detail and performance priorities.

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