20,741
edits
mNo edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
{{Stub}} | {{Stub}} | ||
In FlightGear, the Nasal scripting language is used to create scripts that can be run inside the simulator. These scripts are executed via callbacks that are triggered by timers and listeners, which can cause the garbage collector to be triggered in a non-deterministic fashion. This means that the garbage collector may run at different times and in different ways depending on the specific actions and events that are happening in the simulator. | |||
This non-deterministic execution of the garbage collector can cause several challenges, including hard-to-reproduce issues that can be difficult to debug. For example, if a performance issue or bug only occurs when the garbage collector runs in a certain way, it may be difficult to reproduce the problem consistently and identify the cause. Additionally, the specific conditions under which the garbage collector runs can vary greatly for different end-users, depending on their local settings (such as the airport, aircraft, and environment) and the specific actions they take in the simulator. This can make it even more difficult to debug and diagnose problems related to the garbage collector. | |||
Overall, the non-deterministic execution of the garbage collector in FlightGear can make it difficult to reproduce and debug issues related to its performance and behavior. This can be a challenge for script developers and end-users, and it may require careful use of profilers | |||
In a visual application like a flight simulator, the frame rate and frame latency are critical for providing a smooth and immersive experience for the end-user. In FlightGear, which uses the Nasal scripting language with a mark/sweep garbage collector, there is a potential for performance issues and stuttering due to the way the garbage collector is triggered and the way subsystems are updated. | In a visual application like a flight simulator, the frame rate and frame latency are critical for providing a smooth and immersive experience for the end-user. In FlightGear, which uses the Nasal scripting language with a mark/sweep garbage collector, there is a potential for performance issues and stuttering due to the way the garbage collector is triggered and the way subsystems are updated. | ||