Я ищу лучший способ вычисления ETA операции (загрузка IE: файл) с использованием информации о линейном ходе.
Давайте скажем, что у меня есть следующий метод, который вызывается:
void ReportProgress(double position, double total)
{
...
}
У меня есть пара идей:
- рассчитать прогресс в заданное время (например, последние 10 секунд) и использовать эту скорость как среднюю скорость для операции
- сохранить набор последних x progresses, о которых сообщалось, рассчитать скорость каждого приращения и использовать средний