High-Level Architecture: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (re-add ref) |
||
Line 8: | Line 8: | ||
# It provides a robust environment to make the simulator multi-threaded, taking advantage of computers with multiple cores, or indeed running different parts of the simulation on different computers. | # It provides a robust environment to make the simulator multi-threaded, taking advantage of computers with multiple cores, or indeed running different parts of the simulation on different computers. | ||
# It allows us to split out parts of the simulator such as the [[FDM]] and Renderer from each other and less time-critical sub-systems such as [[Advanced weather|weather]] so that we can get consistent (and perhaps higher) frame-rates. | # It allows us to split out parts of the simulator such as the [[FDM]] and Renderer from each other and less time-critical sub-systems such as [[Advanced weather|weather]] so that we can get consistent (and perhaps higher) frame-rates. | ||
# It provides a very good framework to allow anyone to create components that interact with FlightGear, which may be running in their own threads, and reside in separate binaries. | # It provides a very good framework to allow anyone to create components that interact with FlightGear, which may be running in their own threads, and reside in separate binaries<ref>http://sourceforge.net/p/flightgear/mailman/message/34196458/</ref>, which will be also easier to debug/troubleshoot (think regression testing). | ||
Stuart has started work on re-architecting parts of FlightGear to use HLA, though this is expected to be a multi-year project. Anyone interested in the current status of development should subscribe to the Flightgear -devel mailing list. | Stuart has started work on re-architecting parts of FlightGear to use HLA, though this is expected to be a multi-year project. Anyone interested in the current status of development should subscribe to the Flightgear -devel mailing list. |
Revision as of 13:36, 29 December 2015
Multicore |
---|
Configuration |
Ongoing Efforts |
Proposals & RFCs |
Background |
For developers |
High-Level Architecture (HLA) is a general purpose architecture for distributed computer simulation systems.
Rather than have the entire simulation within a single executable, the simulation is split into different Federates, which interact with each other by a Run-Time Infrastructure (RTI).
There are three big advantages to this over a monolithic simulation (e.g. FlightGear V3.6):
- It provides a robust environment to make the simulator multi-threaded, taking advantage of computers with multiple cores, or indeed running different parts of the simulation on different computers.
- It allows us to split out parts of the simulator such as the FDM and Renderer from each other and less time-critical sub-systems such as weather so that we can get consistent (and perhaps higher) frame-rates.
- It provides a very good framework to allow anyone to create components that interact with FlightGear, which may be running in their own threads, and reside in separate binaries[1], which will be also easier to debug/troubleshoot (think regression testing).
Stuart has started work on re-architecting parts of FlightGear to use HLA, though this is expected to be a multi-year project. Anyone interested in the current status of development should subscribe to the Flightgear -devel mailing list.
For additional information, please see:
- Technical_Reports#A_New_Architecture_for_FlightGear_Flight_Simulator
- FlightGear HLA support (High Level Architecture)
- FlightGear CIGI Support (Common Image Generator Interface).
External links
- High-level architecture (simulation) on Wikipedia