Экран прогресса может называть «скачиванием» сразу несколько этапов, но арифметика DownloadTime охватывает только передачу введённого числа бит при введённой устойчивой скорости. После получения данных программа может проверять их, распаковывать архивы, копировать файлы, применять обновления, резервировать место, собирать ресурсы или ждать накопитель. Длительность этих этапов нельзя вывести только из размера и сетевой скорости. Явная граница не позволяет принять правильную оценку передачи за полное время до готовности.
Длительность передачи заканчивается после получения данных
В калькуляторе длительность скачивания равна общему числу бит, делённому на устойчивые биты в секунду. Для десятичного пакета 50 GB при 200 Мбит/с идеальная передача длится 2 000 секунд, или 33 минуты 20 секунд. Ответ ничего не говорит о действиях принимающего приложения до, во время и после сети. Одни программы совмещают передачу с записью, другие приостанавливают этапы по очереди. Формула остаётся верной в своей границе, хотя видимый прогресс продукта может описывать более широкий процесс.
Установка зависит от локальной работы и устройства продукта
У двух загрузок одинакового размера и скорости установка может отличаться радикально. Сжатый архив разворачивается в больший объём, патч сравнивает и переписывает существующие файлы, проверка повторно читает пакет, а установщик создаёт множество мелких файлов или ждёт другой процесс. Важны процессор, свободное место, файловая система, защитное ПО, формат пакета и логика приложения. DownloadTime не запрашивает эти переменные и не оценивает их. Индикатор установки самого приложения — отдельное свидетельство, а не поправочный коэффициент к сетевому расчёту.
Планируйте известную передачу, а неизвестный этап называйте отдельно
Используйте DownloadTime для одной прозрачной базы передачи. Запишите точную единицу размера, сценарий устойчивой скорости и полученную длительность. Затем прямо укажите, что проверка или установка идёт отдельно и не оценена. Не придумывайте универсальный множитель и не прибавляйте длительность к часам устройства как гарантированное время готовности. Если приложение показывает скачивание и установку раздельно, сравнивайте каждый этап с его собственными данными. Такой подход скромнее единого обещания, зато расхождение с фактическим прогрессом легко объяснить.