Nasal GC Musings: Difference between revisions

Jump to navigation Jump to search
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.

Navigation menu