Fixed window size math for non-default sizes
This commit is contained in:
@@ -337,14 +337,17 @@ private:
|
|||||||
return false;
|
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<qreal>(windowSize()) * 0.8
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (index >= m_windowOffset + (SLIDING_CACHE_WINDOW_SIZE - SLIDING_CACHE_PREFETCH_THRESHOLD))
|
while (index >= m_windowOffset + (windowSize() - prefetchThreshold))
|
||||||
{
|
{
|
||||||
if(!slideForward())
|
if(!slideForward())
|
||||||
{
|
{
|
||||||
@@ -414,7 +417,7 @@ private:
|
|||||||
m_windowOffset = 0;
|
m_windowOffset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
QThread::sleep(KOMPLEX_RATE_LIMIT);
|
// QThread::sleep(KOMPLEX_RATE_LIMIT);
|
||||||
|
|
||||||
FetchResult<T> result = m_fetch(
|
FetchResult<T> result = m_fetch(
|
||||||
m_windowOffset,
|
m_windowOffset,
|
||||||
@@ -497,7 +500,7 @@ private:
|
|||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
QThread::sleep(KOMPLEX_RATE_LIMIT);
|
// QThread::sleep(KOMPLEX_RATE_LIMIT);
|
||||||
|
|
||||||
m_windowOffset -= movementSize;
|
m_windowOffset -= movementSize;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user