【发布时间】:2009-11-24 06:45:06
【问题描述】:
在窗口中显示下载状态时,我有如下信息:
1) 总文件大小 (f)
2) 下载文件大小 (f')
3) 当前下载速度(秒)
一个简单的剩余时间计算是 (f-f')/(s),但这个值很不稳定(剩余 6m / 剩余 2h / 剩余 5m!似曾相识?!:)
会不会有一个既稳定又不会出错的计算(即使下载即将完成也显示1h)?
【问题讨论】:
-
我不相信平滑平均会削减它;我看过我的 Ubuntu 更新下载了一半的文件,我注意到一个非常清晰的模式 - 较大的文件平均速度比较小的文件快得多(高达 5 倍甚至有时甚至 10 倍)。如果您确实对正在使用的协议(例如 ftp、http)做出假设,那么您应该能够推断出为什么会发生这种变化(请注意,由于涉及到所有细节,这并不容易,但也不是不可能的)。基本上,随着时间的推移,我会尝试改进预测下载速度和时间作为大小函数的函数。