From 5deb869c2c67e30eb1ab2f28d470abd2e4d0603d Mon Sep 17 00:00:00 2001 From: Digital Artifex <7929434+DigitalArtifex@users.noreply.github.com> Date: Sat, 15 Aug 2026 09:54:51 -0400 Subject: [PATCH] Fixed window size math for non-default sizes --- KomplexHubPlugin/common/slidingcachecontroller.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/KomplexHubPlugin/common/slidingcachecontroller.h b/KomplexHubPlugin/common/slidingcachecontroller.h index 0bd3335..43be86a 100644 --- a/KomplexHubPlugin/common/slidingcachecontroller.h +++ b/KomplexHubPlugin/common/slidingcachecontroller.h @@ -337,14 +337,17 @@ private: return false; } - qsizetype windowSize = this->windowSize(); + qsizetype prefetchThreshold = SLIDING_CACHE_PREFETCH_THRESHOLD; - if(windowSize == 0) + if(prefetchThreshold >= windowSize()) { - windowSize = SLIDING_CACHE_WINDOW_SIZE; + prefetchThreshold = std::floor + ( + static_cast(windowSize()) * 0.8 + ); } - while (index >= m_windowOffset + (SLIDING_CACHE_WINDOW_SIZE - SLIDING_CACHE_PREFETCH_THRESHOLD)) + while (index >= m_windowOffset + (windowSize() - prefetchThreshold)) { if(!slideForward()) { @@ -414,7 +417,7 @@ private: m_windowOffset = 0; } - QThread::sleep(KOMPLEX_RATE_LIMIT); + // QThread::sleep(KOMPLEX_RATE_LIMIT); FetchResult result = m_fetch( m_windowOffset, @@ -497,7 +500,7 @@ private: false ); - QThread::sleep(KOMPLEX_RATE_LIMIT); + // QThread::sleep(KOMPLEX_RATE_LIMIT); m_windowOffset -= movementSize;