- bool scenery_loaded = fgGetBool("sim/sceneryloaded");
- if (!scenery_loaded)
- {
- if (globals->get_tile_mgr()->isSceneryLoaded()
- && fgGetBool("sim/fdm-initialized")) {
- fgSetBool("sim/sceneryloaded",true);
- if (fgGetBool("/sim/sound/working")) {
- globals->get_soundmgr()->activate();
- }
- globals->get_props()->tie("/sim/sound/devices/name",
- SGRawValueFunctions<const char *>(0, fgSetNewSoundDevice), false);
- }
- else
- {
- // be nice to loader threads while waiting for initial scenery, reduce to 2fps
- simgear::sleepForMSec(500);
- }
- }
-
- // print timing statistics
- static bool _lastStatisticsFlag = false;
- if (_lastStatisticsFlag != _statisticsFlag->getBoolValue())
- {
- // flag has changed, update subsystem manager
- _lastStatisticsFlag = _statisticsFlag->getBoolValue();
- globals->get_subsystem_mgr()->collectDebugTiming(_lastStatisticsFlag);
- }
- if (_lastStatisticsFlag)
- {
- static double elapsed = 0;
- elapsed += real_dt;
- if (elapsed >= _statisticsInterval->getDoubleValue())
- {
- // print and reset timing statistics
- globals->get_subsystem_mgr()->printTimingStatistics(_statiticsMinTime->getDoubleValue(),
- _statiticsMinJitter->getDoubleValue());
- elapsed = 0;
- }
- }