Speed optimization for method VCommonSettings::GetCurveApproximationScale().
--HG-- branch : develop
This commit is contained in:
parent
7f84a09342
commit
7dc29c0f00
|
@ -95,6 +95,9 @@ const QString settingLabelUserDateFormats = QStringLiteral("label/userDateFormat
|
|||
const QString settingLabelTimeFormat = QStringLiteral("label/timeFormat");
|
||||
const QString settingLabelUserTimeFormats = QStringLiteral("label/userTimeFormats");
|
||||
|
||||
// Reading settings file is very expensive, cache curve approximation to speed up getting value
|
||||
qreal curveApproximationCached = -1;
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QStringList ClearFormats(const QStringList &predefinedFormats, QStringList formats)
|
||||
{
|
||||
|
@ -1006,16 +1009,21 @@ void VCommonSettings::SetUserDefinedTimeFormats(const QStringList &formats)
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
qreal VCommonSettings::GetCurveApproximationScale() const
|
||||
{
|
||||
bool ok = false;
|
||||
const qreal scale = value(settingPatternCurveApproximationScale, defCurveApproximationScale).toDouble(&ok);
|
||||
if (ok && scale >= minCurveApproximationScale && scale <= maxCurveApproximationScale)
|
||||
if (curveApproximationCached < 0)
|
||||
{
|
||||
return scale;
|
||||
}
|
||||
else
|
||||
{
|
||||
return defCurveApproximationScale;
|
||||
bool ok = false;
|
||||
const qreal scale = value(settingPatternCurveApproximationScale, defCurveApproximationScale).toDouble(&ok);
|
||||
if (ok && scale >= minCurveApproximationScale && scale <= maxCurveApproximationScale)
|
||||
{
|
||||
curveApproximationCached = scale;
|
||||
}
|
||||
else
|
||||
{
|
||||
curveApproximationCached = defCurveApproximationScale;
|
||||
}
|
||||
}
|
||||
|
||||
return curveApproximationCached;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -1024,6 +1032,7 @@ void VCommonSettings::SetCurveApproximationScale(qreal value)
|
|||
if (value >= minCurveApproximationScale && value <= maxCurveApproximationScale)
|
||||
{
|
||||
setValue(settingPatternCurveApproximationScale, value);
|
||||
curveApproximationCached = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user