This code snippet is a configuration script for optimizing the...

August 26, 2025 at 12:58 PM

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. First Test // 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 System Performance when set to 300, FPS on the ground 36 in the air FPS 60 Test Results 1: CPU 42-49%, Memory (16 GB) 71%, RX560 84%, Radeon Vega 8 11%. System Performance when set to 330, FPS on the ground 50, in the air 60 Test Results 2: CPU 45%, Memory (16 GB) 72%, RX560 96%, Radeon Vega 8 12%. System Performance when set to 325, FPS on the ground 50 in the air 61.1 Test Results 2: CPU 44%, Memory (16 GB) 89%, RX560 98% Temp 70 deg, Radeon Vega 8 10%. Temp 70 deg I liked the performance when g_nObjListWorkSizeHint was set to 325, no glitches, or stutters. I'd like your opinion on this setting. I tested it with Vertical Sync off and it was pretty bad, stuttering everywhere, so definitely need to keep that on.

This code snippet is a configuration script for optimizing the performance of Falcon BMS 4.38 (a flight simulator) on a user's specific hardware setup. Let’s break down what each part does:

  1. set g_nObjListWorkSizeHint:

    • This setting determines how much work is divided among the CPU threads for object management in the simulator.
    • Impact: Lower values promote maximum parallelism (better for multi-core CPUs) but can stress the CPU with high thread contention. Higher values reduce parallelism (more sequential CPU work), requiring fewer threads.
    • In your case, the setting 325 seemed to strike a balance between GPU and CPU usage, resulting in smoother performance and no stutters.
  2. set g_nAdditionalWorkers:

    • Controls the number of additional worker threads for multithreading.
    • A value of 2 adds two additional threads for parallel work. Negative values reduce the use of hyper-threaded (HT) cores. When set to 2 in your tests, it helped increase core utilization while maintaining stability.
  3. set g_nMinFrameTimeMs:

    • Defines a minimum frame time in milliseconds.
    • A setting of 4 translates to a maximum FPS of 250, though VSync (enabled) limits the FPS to 60 to match your monitor’s refresh rate. Higher values like 16 ms would cap FPS closer to 62.5 (matching your monitor’s VSync rate accurately).
    • Keeping this at 4 should ensure high frame rates but is overridden by VSync.
  4. set g_fNewTerrainTessellationFactor:

    • Reduces or increases the detail level of terrain tessellation (how detailed the terrain geometry is at a distance).
    • Lower values (like 0.25) decrease tessellation, reducing GPU load at the cost of visual fidelity, improving performance. This setting was adjusted to balance the GPU’s load.
  5. set g_fAnisotropicLevel:

    • Determines the texture filtering quality (anisotropic filtering) applied by the GPU.
    • Lower values, like 1.0, reduce the GPU load at the expense of texture clarity at oblique angles to the camera. This is ideal for your integrated GPU (Radeon Vega 8), which has limited power compared to discrete GPUs.

Your Testing Results:

  • g_nObjListWorkSizeHint at 325:
    • Achieved a good balance between CPU and GPU usage.
    • CPU: ~44% usage, which is efficient without overutilizing your 4-core/8-thread processor.
    • GPU: ~98% utilization, which is expected for a discrete GPU like the RX560 being pushed for rendering. Temperatures (70°C) are acceptable assuming proper cooling.
    • Performance: Ground FPS at 50 and air FPS at 60+ aligns with smooth performance and no stuttering, likely aided by keeping VSync on to synchronize with your 60Hz monitor.

My Opinion:

  • Your choice of g_nObjListWorkSizeHint = 325 seems optimal for your specific hardware given the improvements in both smoothness and FPS without overstressing the CPU or GPU.
  • Keeping VSync ON is crucial in your case, as it prevents the GPU from rendering excessive frames, reducing stutters and screen tearing.
  • Lowering g_fNewTerrainTessellationFactor from the original 0.1 to 0.25 still provided a good balance between visual quality and performance—important for your CPU/GPU combo.
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