106 QMutexLocker locker(&
m_d->mutex);
108 const bool isSamePreset =
109 m_d->lastPresetName == preset->name() &&
116 m_d->lastPresetName = preset->name();
117 m_d->lastPresetSize = preset->settings()->paintOpSize();
120 m_d->lastCursorSpeed = cursorSpeed;
121 m_d->lastRenderingSpeed = renderingSpeed;
125 static const qreal saturationSpeedThreshold = 0.30;
126 m_d->lastStrokeSaturated = cursorSpeed / renderingSpeed > (1.0 + saturationSpeedThreshold);
129 if (
m_d->lastStrokeSaturated) {
130 m_d->avgCursorSpeed(cursorSpeed);
131 m_d->avgRenderingSpeed(renderingSpeed);
134 m_d->cachedAvgCursorSpeed =
m_d->avgCursorSpeed.rollingMean();
135 m_d->cachedAvgRenderingSpeed =
m_d->avgRenderingSpeed.rollingMean();
136 m_d->cachedAvgFps =
m_d->avgFps.rollingMean();
143 QString(
" CS: %1 RS: %2 FPS: %3 %4")
144 .arg(
m_d->lastCursorSpeed, 5)
145 .arg(
m_d->lastRenderingSpeed, 5)
146 .arg(
m_d->lastFps, 5)
147 .arg(
m_d->lastStrokeSaturated ?
"(saturated)" :
"");
149 QString(
"ACS: %1 ARS: %2 AFPS: %3")
150 .arg(
m_d->cachedAvgCursorSpeed, 5)
151 .arg(
m_d->cachedAvgRenderingSpeed, 5)
152 .arg(
m_d->cachedAvgFps, 5);