FlightGear benchmark: Difference between revisions

Jump to navigation Jump to search
Line 5: Line 5:
FlightGear has drastically evolved since the early days of FGBenchmark, so that many of these things could now be accomplished, even without touching the C++ source code. The technical main restrictions at the moment are:
FlightGear has drastically evolved since the early days of FGBenchmark, so that many of these things could now be accomplished, even without touching the C++ source code. The technical main restrictions at the moment are:


* the fgfsrs, autosave.xml preferences.xml files are user-specific and cannot currently be overridden by a benchmark, to ensure that a 100% correct setup is replicated. Basically, we could simply add a new command-line switch to ignore these files in $FG_HOME/$FG_ROOT and instead refer to a corresponding PropertyList-section embedded in the aircraft-set.xml file, so that user-specific settings are not loaded (well, except for obvious candidates like --fg-root= and some others)
* FlightGear expects an aircraft to be selected at startup, so that benchmarks could only be self-contained if they're are provided as a custom set of aircraft-set.xml files for, simply because [[FlightGear Sessions|we cannot yet switch aircraft at runtime]]
* FlightGear expects an aircraft to be selected at startup, so that benchmarks could only be self-contained if they're are provided as a custom set of aircraft-set.xml files for, simply because [[FlightGear Sessions|we cannot yet switch aircraft at runtime]]
* the fgfsrs, autosave.xml preferences.xml files are user-specific and cannot currently be overridden by a benchmark, however these files may contain tons of settings that might affect performance/benchmarks - which needs fixing, to ensure that a 100% correct setup can be replicated by a benchmark. Basically, we could simply add a new command-line switch to ignore these local files in $FG_HOME/$FG_ROOT and instead refer to a corresponding PropertyList-section embedded in the aircraft-set.xml file, so that user-specific settings are not loaded (well, except for obvious candidates like --fg-root= and some others)
* FlightGear always expects a fully interactive GUI session to be running, see [[FlightGear Headless]]
* FlightGear always expects a fully interactive GUI session to be running, see [[FlightGear Headless]]
* Many settings are runtime-configurable and can be changed through the property tree (or fgcommands) while running FlightGear, some others still require a [[Reset & re-init|full simulator reset]] - this applies in particular to [[FlightGear Run Levels|non-optional subsystems]] but also a bunch of rendering related settings
* Many settings are runtime-configurable and can be changed through the property tree (or fgcommands) while running FlightGear, some others still require a [[Reset & re-init|full simulator reset]] - this applies in particular to [[FlightGear Run Levels|non-optional subsystems]] but also a bunch of rendering related settings

Navigation menu