mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 19:35:32 +08:00
Reflecting discussed changes for interpolation performance refs #386
(based on FSX testing) * Only send changed situation to SIM * Split sending of parts / situations * Only send parts with a reduced frequency (means slower as positions) * Mark geodetic height as null for default values (the value is usually unavailable) * Fixed altitude to MSL for network data * Trace which aircrafts support aircraft parts via network * Renamed insert_fron push_front (as proposed by Roland) Status quo / lessons learnt * On slower PCs jitter is still noticed for interpolated aircraft. * Running interpolation in an independent process (aka core, not in GUI) reduced load dependencies => it seems to make sense to run driver in own thread * The onGround flag in parts seems clumsy as it required to retrieve parts for position updates * In interpolation performance really matters
This commit is contained in:
@@ -234,6 +234,12 @@ namespace BlackMisc
|
||||
*/
|
||||
void push_back(const T &value) { Q_ASSERT(pimpl()); pimpl()->push_back(value); }
|
||||
|
||||
/*!
|
||||
* \brief Insert as first element.
|
||||
* \pre The sequence must be initialized.
|
||||
*/
|
||||
void push_front(const T &value) { insert(begin(), value); }
|
||||
|
||||
/*!
|
||||
* \brief Move-appends an element at the end of the sequence.
|
||||
* \pre The sequence must be initialized.
|
||||
@@ -272,12 +278,6 @@ namespace BlackMisc
|
||||
*/
|
||||
void insert(T &&value) { push_back(std::move(value)); }
|
||||
|
||||
/*!
|
||||
* \brief Insert as first element.
|
||||
* \pre The sequence must be initialized.
|
||||
*/
|
||||
void insert_front(const T &value) { insert(begin(), value); }
|
||||
|
||||
/*!
|
||||
* \brief Synonym for push_back.
|
||||
* \pre The sequence must be initialized.
|
||||
@@ -376,7 +376,7 @@ namespace BlackMisc
|
||||
*/
|
||||
int applyIf(const CPropertyIndexVariantMap &pattern, const CPropertyIndexVariantMap &newValues, bool skipEqualValues = false)
|
||||
{
|
||||
return applyIf([ & ](const T &value) { return value == pattern; }, newValues, skipEqualValues);
|
||||
return applyIf([ & ](const T & value) { return value == pattern; }, newValues, skipEqualValues);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
Reference in New Issue
Block a user