The code snippet you've provided is a configuration file for...
The code snippet you've provided is a configuration file for the Falcon BMS 4.38 flight simulator. It consists of various settings that optimize performance for systems with different hardware profiles. Here's an explanation of what each line does and how it impacts your system:
Code Breakdown:
-
set g_nObjListWorkSizeHint
:- Purpose: Sets the size of the object workload for multi-threaded processing.
- Implications:
- Lower values (e.g., 100) prioritize parallelism by splitting tasks among multiple CPU cores, which can improve performance on systems with many cores or logical processors.
- Higher values (closer to 3000) reduce parallelism, which may be better suited for single-threaded optimized CPUs.
- In your case, 280 seemed to improve performance slightly, but when set to 300, it further reduced CPU usage and improved overall performance.
-
set g_nAdditionalWorkers
:- Purpose: Specifies how many additional threads/workers should be used for processing.
- Implications:
- A value of
2
means that two additional worker threads are added, effectively utilizing more CPU cores for the flight simulator. This is good for multi-core CPUs like your Ryzen 5 2500U. - Negative values reduce the number of worker threads by disabling certain hyper-threaded (HT) cores.
- A value of
-
set g_nMinFrameTimeMs
:- Purpose: Defines the minimum frame time per simulation thread.
- Implications:
- At 4 ms, it caps the FPS at a theoretical maximum of 250 (1000 / 4).
- You have V-Sync enabled, which caps the FPS at your monitor's refresh rate (60 Hz). Hence, increasing this value won't raise your FPS. However, ensuring it stays at or below 16 ms (the refresh time for a 60 Hz monitor) will keep the FPS smooth and in line with your monitor's capabilities.
-
set g_fNewTerrainTessellationFactor
:- Purpose: Adjusts the terrain tessellation factor, which determines the level of detail for 3D terrain rendering.
- Implications:
- Lower values (e.g., 0.25) reduce the detail level of the terrain, which reduces GPU load and improves performance.
- A value of
0.1
(higher detail) was causing more strain on your system, but reducing it to0.25
has improved performance by lowering the tessellation distance.
-
set g_fAnisotropicLevel
:- Purpose: Configures the anisotropic filtering level, which affects texture sharpness at oblique angles.
- Implications:
- A value of
1.0
minimizes anisotropic filtering, reducing GPU load, which benefits integrated GPUs like the Radeon Vega 8. Higher values (e.g., 16.0) produce better image quality but increase GPU utilization.
- A value of
Recommendations and Explanation for "Should I set it to 330?"
Your settings at 300 for g_nObjListWorkSizeHint
are already showing improved performance, with slight reductions in CPU and GPU usage. However, increasing it further to 330 could have specific consequences:
- At 330, there will be slightly less parallelism (more work is done in fewer threads), which could reduce the workload spreading among your CPU cores. This might or might not improve performance, depending on your specific hardware and game scene. Test it to see if there's further improvement.
General Thoughts:
-
Monitor Refresh Rate and V-Sync:
- Since your monitor is capped at 60 Hz and V-Sync is enabled, increasing FPS beyond 60 won't provide additional visual benefits. The key is to optimize performance without overburdening system resources.
-
Resource Balance:
- Your Radeon RX560 usage is around 84%-90%, which is healthy for a GPU running a game. Further reducing GPU workload (e.g., lowering the tessellation factor or anisotropic filtering) might not be necessary unless you experience stutters.
-
Testing Values:
- Adjust and test incrementally. For example:
- Start with
g_nObjListWorkSizeHint = 330
. - Observe performance metrics (FPS, CPU, and GPU usage).
- If CPU usage spikes or FPS drops noticeably, revert to 300.
- Start with
- Adjust and test incrementally. For example:
TL;DR:
This configuration file tweaks CPU and GPU workloads, frame timing, and visual settings for Falcon BMS 4.38. Setting g_nObjListWorkSizeHint
to 330 might improve or worsen performance slightly. Test it on your specific hardware to make an informed decision, but 300 seems to already work well with your setup.