aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/src/lib/DownloadMonitor.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/lib/DownloadMonitor.svelte')
-rw-r--r--ui/src/lib/DownloadMonitor.svelte19
1 files changed, 6 insertions, 13 deletions
diff --git a/ui/src/lib/DownloadMonitor.svelte b/ui/src/lib/DownloadMonitor.svelte
index 9adef67..52c935c 100644
--- a/ui/src/lib/DownloadMonitor.svelte
+++ b/ui/src/lib/DownloadMonitor.svelte
@@ -83,19 +83,12 @@
const timeDiff = (now - lastUpdateTime) / 1000; // seconds
if (timeDiff >= 0.5) { // Update speed every 0.5 seconds
- // On the first update, initialize lastTotalBytes to avoid counting
- // bytes downloaded before the timer window started.
- if (lastTotalBytes === 0 && totalDownloadedBytes > 0) {
- lastTotalBytes = totalDownloadedBytes;
- lastUpdateTime = now;
- } else {
- const bytesDiff = totalDownloadedBytes - lastTotalBytes;
- const instantSpeed = bytesDiff / timeDiff;
- // Smooth the speed with exponential moving average
- downloadSpeed = downloadSpeed === 0 ? instantSpeed : downloadSpeed * 0.7 + instantSpeed * 0.3;
- lastUpdateTime = now;
- lastTotalBytes = totalDownloadedBytes;
- }
+ const bytesDiff = totalDownloadedBytes - lastTotalBytes;
+ const instantSpeed = bytesDiff / timeDiff;
+ // Smooth the speed with exponential moving average
+ downloadSpeed = downloadSpeed === 0 ? instantSpeed : downloadSpeed * 0.7 + instantSpeed * 0.3;
+ lastUpdateTime = now;
+ lastTotalBytes = totalDownloadedBytes;
}
// Estimate remaining time