Скажем, вы хотите рассчитать оставшееся время загрузки, и у вас есть вся необходимая информация, а именно: Размер файла, размер файла, размер слева, время истек, мгновенная скорость и т.д. ". Как бы вы вычислили оставшееся время dl?
Конечно, простой способ был бы либо: размер левой/мгновенной скорости dl, либо: (время, прошедшее /dl 'ed размер) * размер слева. Только то, что первое будет подвержено отклонениям в мгновенной скорости, и последнее не будет хорошо адаптироваться к изменению скоростей.
Должен быть какой-то более умный способ сделать это, правильно? Взгляните на пиратское программное обеспечение и музыку, которые вы загружаете с uTorrent. Легко заметить, что он делает больше, чем простой расчет, упомянутый ранее. На самом деле, я замечаю, что иногда, когда скорость dl падает, оставшееся время также падает на пару моментов, пока оно не изменится.