FlightGear Newsletter November 2015: Difference between revisions

Jump to navigation Jump to search
m
mNo edit summary
Line 91: Line 91:
The core developers are aiming to find out the dependencies of different subsystems, and re-factor them so that more and more subsystems can be made optional (analogous to [[FlightGear Run Levels|run-levels]]), enabling them to be dynamically removed and re-added at run-time. This will be particularly important to untangle implicit or hard-coded dependencies among the different subsystems, and will be one of the key tasks to move certain subsystems into dedicated [[High-Level Architecture]] (HLA) {{wikipedia|High-level architecture#Common HLA terminology|federates|noicon=1}}.
The core developers are aiming to find out the dependencies of different subsystems, and re-factor them so that more and more subsystems can be made optional (analogous to [[FlightGear Run Levels|run-levels]]), enabling them to be dynamically removed and re-added at run-time. This will be particularly important to untangle implicit or hard-coded dependencies among the different subsystems, and will be one of the key tasks to move certain subsystems into dedicated [[High-Level Architecture]] (HLA) {{wikipedia|High-level architecture#Common HLA terminology|federates|noicon=1}}.


One of the long-term goals is to provide a so called "[[FlightGear Headless|headless]]" mode so that certain features/subsystems (unrelated to graphics) can be better tested in isolation. An example would running FlightGear in an automated fashion on the [[FlightGear Build Server]], which could help increasingly automate the release process and related regression testing.
One of the long-term goals is to provide a so called "[[FlightGear Headless|headless]]" mode so that certain features/subsystems (unrelated to graphics) can be better tested in isolation. An example would be running FlightGear in an automated fashion on the [[FlightGear Build Server]], which could help increasingly automate the release process and related regression testing, which is another long-standing wish.


The other goal is to increasingly modularize FlightGear by using HLA and split off the simulation loops (see also [[FGViewer]]), as well as [[Supporting multiple renderers|supporting different renderers]] (such as [[Rembrandt]] and [[ALS]]), scenery engines (e.g., standard and [[osgEarth]]) and weather engines, in a fashion similar to how FlightGear already supports different FDM engines ([[JSBSim]] and [[YASim]]). HLA will make it possible for certain subsystems to be moved to dedicated cores by using separate threads or even processes, meaning that certain subsystems may even be able to be on a different computer, in a distributed setup.
The other goal is to increasingly modularize FlightGear by using HLA and split off the simulation loops (see also [[FGViewer]]), as well as [[Supporting multiple renderers|supporting different renderers]] (such as [[Rembrandt]] and [[ALS]]), scenery engines (e.g., standard and [[osgEarth]]) and weather engines, in a fashion similar to how FlightGear already supports different FDM engines ([[JSBSim]] and [[YASim]]). HLA will make it possible for certain subsystems to be moved to dedicated cores by using separate threads or even processes, meaning that certain subsystems may even be able to be on a different computer, in a distributed setup.


The underlying requirement that these efforts share is that there needs to be a much better re-initialization process, with no hard-coded assumptions about running subsystems or initialization order.
The underlying requirement that these efforts share is that there needs to be a much better re-initialization process, with no hard-coded assumptions about running subsystems or initialization order, because subsystems may be running elsewhere, and may need to be dynamically added/removed at runtime.


For the time being, however, many of these efforts are not yet completely functional, so more feedback and data are needed.
For the time being, however, many of these efforts are not yet completely functional, so more feedback and data are needed.

Navigation menu