【发布时间】:2010-10-25 13:23:45
【问题描述】:
我正在寻找使用线性进度信息计算操作(即文件下载)的 ETA 的最佳方法。
假设我有以下被调用的方法:
void ReportProgress(double position, double total)
{
...
}
我有几个想法:
- 计算设定时间内的进度(如最后 10 秒)并将该速度用作操作的平均速度
- 保留一组已报告的最后 x 进度,计算每个增量的速度并使用平均值
【问题讨论】:
-
无论你选择如何,都不要像微软文件复制进度显示那样做。
-
非常类似于这个问题:stackoverflow.com/questions/798800/…
-
非常感谢,之前没找到,现在怎么办? (我第一次在stackoverflow上问:))
-
@JohnBoker 也许我没有注意到。微软是如何做到的?究竟是什么让你产生了这种情绪。我想知道。
-
@TheRealChx101 这是9年前的笑话:xkcd.com/612
标签: math progress time-estimation