From 658fe9da7eb00a1f830e606dae8894578de53c72 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Fri, 23 Sep 2022 17:54:46 -0700 Subject: [PATCH] playbackcache: keep track of cache file time to prevent unnecessary loads --- app/render/playbackcache.cpp | 11 +++++++++-- app/render/playbackcache.h | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/render/playbackcache.cpp b/app/render/playbackcache.cpp index 0f179dab8..487eac2de 100644 --- a/app/render/playbackcache.cpp +++ b/app/render/playbackcache.cpp @@ -68,7 +68,9 @@ void PlaybackCache::LoadState() { QDir cache_dir = GetThisCacheDirectory(); QFile f(cache_dir.filePath(QStringLiteral("state"))); - if (f.open(QFile::ReadOnly)) { + + qint64 file_time = f.fileTime(QFileDevice::FileModificationTime).toMSecsSinceEpoch(); + if (file_time > last_loaded_state_ && f.open(QFile::ReadOnly)) { QDataStream s(&f); uint32_t version; @@ -116,6 +118,8 @@ void PlaybackCache::LoadState() } f.close(); + + last_loaded_state_ = file_time; } } @@ -161,6 +165,8 @@ void PlaybackCache::SaveState() } f.close(); + + last_loaded_state_ = f.fileTime(QFileDevice::FileModificationTime).toMSecsSinceEpoch(); } } } @@ -236,7 +242,8 @@ Project *PlaybackCache::GetProject() const PlaybackCache::PlaybackCache(QObject *parent) : QObject(parent), - saving_enabled_(true) + saving_enabled_(true), + last_loaded_state_(0) { uuid_ = QUuid::createUuid(); } diff --git a/app/render/playbackcache.h b/app/render/playbackcache.h index d96709355..3485fdcb4 100644 --- a/app/render/playbackcache.h +++ b/app/render/playbackcache.h @@ -132,6 +132,8 @@ private: QVector passthroughs_; + qint64 last_loaded_state_; + }; }