From 9589965cbdf43ecef26a2ba28e17c5804e200f9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sun, 17 Jan 2010 19:47:22 +0000 Subject: [PATCH] Change the algorithm that calculates the average copy speed, so it begins to display much earlier (two seconds). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35131 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/tracker/StatusWindow.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/kits/tracker/StatusWindow.cpp b/src/kits/tracker/StatusWindow.cpp index ba7a890e6f..7c0def6887 100644 --- a/src/kits/tracker/StatusWindow.cpp +++ b/src/kits/tracker/StatusWindow.cpp @@ -783,16 +783,15 @@ BStatusView::UpdateStatus(const char *curItem, off_t itemSize, bool optional) fLastSpeedReferenceSize = fSizeProcessed; fLastSpeedReferenceTime = currentTime; fBytesPerSecond = 0.0; + size_t count = 0; for (size_t i = 0; i < kBytesPerSecondSlots; i++) { - if (fBytesPerSecondSlot[i] != 0.0) + if (fBytesPerSecondSlot[i] != 0.0) { fBytesPerSecond += fBytesPerSecondSlot[i]; - else { - fBytesPerSecond = 0.0; - break; + count++; } } - if (fBytesPerSecond != 0.0) - fBytesPerSecond /= kBytesPerSecondSlots; + if (count > 0) + fBytesPerSecond /= count; Invalidate(); }