aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrickyLeifa <date.epoch@gmail.com>2024-05-22 22:38:26 +0200
committerTrickyLeifa <date.epoch@gmail.com>2024-05-22 22:38:26 +0200
commit52fc8d359426e068d9057a80fd456eda70c00683 (patch)
tree3c2a29e3cf42a429a532d22fe5b1dff854ceeffe
parent3df5b1cf985d96c263fea3f2a136ca2a9200ce9b (diff)
Slight tweak to further improve performance
-rw-r--r--src/animationlayer.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/animationlayer.cpp b/src/animationlayer.cpp
index 2d44a5f7..1f1c4f66 100644
--- a/src/animationlayer.cpp
+++ b/src/animationlayer.cpp
@@ -17,6 +17,8 @@ AnimationLayer::AnimationLayer(QWidget *parent)
m_ticker = new QTimer(this);
m_ticker->setSingleShot(true);
+ m_ticker->setTimerType(Qt::PreciseTimer);
+
connect(m_ticker, &QTimer::timeout, this, &AnimationLayer::frameTicker);
if (!thread_pool)
@@ -258,11 +260,8 @@ void AnimationLayer::finishPlayback()
void AnimationLayer::prepareNextTick()
{
- int duration = m_current_frame.duration;
-
- duration = (m_minimum_duration > 0) ? qMax(m_minimum_duration, duration) : duration;
+ int duration = qMax(m_minimum_duration, m_current_frame.duration);
duration = (m_maximum_duration > 0) ? qMin(m_maximum_duration, duration) : duration;
-
m_ticker->start(duration);
}
@@ -348,7 +347,7 @@ void AnimationLayer::frameTicker()
if (!m_pause)
{
- m_ticker->start(m_current_frame.duration);
+ prepareNextTick();
}
}