|
From: Erik H. <er...@eh...> - 2020-01-16 08:17:47
|
On 1/16/20 1:53 AM, Patrick Callahan wrote: > Given the recent work on FlightGear subsystems, would this be a good > time to look at the overall structure of the application? While > Flightgear works well enough as a single main process, are there cases > where a decentralized approach would be advantageous? What actual > benefits would such a change bring? What would need to be done to make > such a change possible? Are there things that should be "cleaned up" first? One advantage would be instant multi-threading. Every federate (module) would be it's own thread or process. The main problem, after reading up on it a bit lately, would be the way the property tree is used. This needs cleaning up: Every federate needs a clean separation layer from the rest of the code. Including not looking up properties from other modules using the property tree. So the first thing is to determine what modules to use. My take so far: 1. Visual System 3. Input System 3. FDM 4. AI Traffic 5. Weather System 6. ATC 7. Sound System(*) So the first stab would be to create a private property tree for all these modules and create an interface to synchronize it with the other modules. Once that is done you could use these interfaces for HLA. Erik (*) Not really necessary since it already runs in it's own thread -- http://www.adalin.com High performance synthesizer and virtual reality audio software. |