GetSubsystem() will pull in a certain Impl * The staticSubsystemClassId() must reside in a abstract base classįor all implementations of said subsystem otherwise * Each subsystem must directly inherit from SGSubSystem. įrom my previous expirience with systems like Osgi here some ideas : Also touching subsytem creation order is unfortunately one of the prime ways to find subtle bugs because it can change the order properties are created in / bound to listeners. But* we did not hit the point where this principle can be used generically yet, because quite a few subsystems have weird edge cases, so for now the main startup still uses the manual fgCreateSubsytems code path.This would allow ‘correct’ automated unload/reload of subsystems with any dependant ones cascaded correctly. It’s a scheme done by Edward (I think) a few years ago to ultimately replace the hard-coded subsystem creation and dependency code with a formal definition driven by data. 2.6 Introducing Regression Tests to FlightGear.Test suite that the project could really benefit from! These modes, and bring in a major piece of infrastructure into the Modes are desired, as that would help with long-term stability of To not having access to it - the test suite would require very basicĪnd tiny test-suite specific scenery tiles for efficient testing.Įdward would recommend following such a route if more advanced 'headless' Scenery loading would be absent from all these basic tests, simply due Rendering frames to bitmaps on disk or in memory for per-pixel checks. With basic geometric objects, and a basic 'sphere world'), and then Subsystems present, then with a basic scene graph (no scenery, testing Firstly running theįg main loop in the absence of a scene graph and with a minimal set of Unit as well as system/functional tests for each. Edward's idea was to build it up in steps, having Test suite infrastructure, however he ran out of time for now.Īnyoneelse can add it though. Ī set of different headless modes was always in Edward's TODO list for the (The problem is loading of scenery tiles is triggered by rendering, usually : to have collision queries trigger tile loading, in the absence of the render frame loop, is theoretically possible but needs a little bit of plumbing between the ground-cache and the tile loader). What people have done is configure the system to then output to a tiny (1px square) window, so that rendering is very fast, but we have some coupling between scenery loading and the FDM (especially for collision detection) which means a pure headless mode needs some real hacking. (It should maybe be called ' kiosk mode'). It's more intended to disable blocking GUI, but still keep rendering output working. Thus, at least for the time being, you still pay the cost of rendering. (for the ground elevation) - the easiest fix for this is probably toĮither not have any scenery or to default to a position in the ocean (weĪlways used to use lat -25, lon-25) and/or use a small window. SimGearĬan be configured to be built in headless mode which probably isn't whatĬurrently, there are parts of FG that require the scenery to be loaded Input (message boxes etc) that may block unattended activities. Update 9/2021: Headless mode is still something that could be improved currently it seems limited to -disable-gui which is more about disabling user
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |