20,741
edits
| Line 37: | Line 37: | ||
=== Moving Scripts into Threads === | === Moving Scripts into Threads === | ||
Over the years, FlightGear has become infamous for its comparatively poor utilization of multi-core computers, where there's often only one or two CPUs being utilized, with many others being left idle. This is regularly brought up by end-users who have experience using other, often more complex, software on the same setup. | Over the years, FlightGear has become infamous for its comparatively poor utilization of multi-core computers, where there's often only one or two CPUs being utilized, with many others being left idle. This is regularly brought up by end-users who have experience using other, often more complex, flight simulation software on the same setup. | ||
Thus, another goal of this article is to better understand how the existing Nasal integration inside FlightGear could be adapted or extended/improved for future scripts to make better use of multi-threading, without having to run inside the FlightGear main loop, potentially blocking frame rate/latency (spacing). The idea would be to come up with a new optional runtime mode for certain scripts to be executed outside the main loop. | Thus, another goal of this article is to better understand how the existing Nasal integration inside FlightGear could be adapted or extended/improved for future scripts to make better use of multi-threading, without having to run inside the FlightGear main loop, potentially blocking frame rate/latency (spacing). The idea would be to come up with a new optional runtime mode for certain scripts to be executed outside the main loop. | ||