From bddbc1a69001518897263bdf1680161343c0cd0d Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 13 Jun 2019 01:53:09 +0200 Subject: [PATCH] Ref T683, use slow updates in FS9 for thins not to be updated every cycle --- src/blackmisc/simulation/simulatedaircraft.h | 3 +++ src/plugins/simulator/fs9/simulatorfs9.cpp | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/blackmisc/simulation/simulatedaircraft.h b/src/blackmisc/simulation/simulatedaircraft.h index 20fd649d4..243d03c9a 100644 --- a/src/blackmisc/simulation/simulatedaircraft.h +++ b/src/blackmisc/simulation/simulatedaircraft.h @@ -386,6 +386,9 @@ namespace BlackMisc //! Get model string const QString &getModelString() const { return m_models[CurrentModel].getModelString(); } + //! Get CG from model + const PhysicalQuantities::CLength &getCG() const { return m_models[CurrentModel].getCG(); } + //! Set model string void setModelString(const QString &modelString); diff --git a/src/plugins/simulator/fs9/simulatorfs9.cpp b/src/plugins/simulator/fs9/simulatorfs9.cpp index 11e868c5b..97b5780ac 100644 --- a/src/plugins/simulator/fs9/simulatorfs9.cpp +++ b/src/plugins/simulator/fs9/simulatorfs9.cpp @@ -396,9 +396,17 @@ namespace BlackSimPlugin requestWeatherGrid(weatherGrid, { this, &CSimulatorFs9::injectWeatherGrid }); } } - } + } // weather - reverseLookupAndUpdateOwnAircraftModel(simDataOwnAircraft.getModelString()); + // slow updates + if (m_ownAircraftUpdateCycles % 25 == 0) + { + this->reverseLookupAndUpdateOwnAircraftModel(simDataOwnAircraft.getModelString()); + const CLength cg = simDataOwnAircraft.getCG(); + if (!cg.isNull()) { this->updateOwnCG(cg); } + } // slow updates + + m_ownAircraftUpdateCycles++; } void CSimulatorFs9::disconnectAllClients()