4

是否有任何小部件可用于根据完成历史百分比预测下载(或任何其他过程)何时完成?

简单的版本只会根据开始时间、当前时间和完成百分比进行 2 点拟合,但可能会有更好的选择。

GUI 最宽的会很好,但只返回值的类会很好。

4

3 回答 3

2

对于我将尝试的理论算法,如果我要编写这样的小部件,将类似于:

  1. 记录一秒内传输的数据量(文字KiB / s)
  2. 记住最近 5 或 10 个这样的时期(以获得最近的平均 KiB/s)
  3. 从传输的大小中减去总大小(以获得“剩余字节数”)
  4. ???
  5. 小工具!

那应该做...

(缺少的步骤是:剩余千字节除以平均 KiB/s)

于 2009-01-14T17:42:14.683 回答
0

大多数进度条小部件都有一个 update() 方法,该方法需要完成百分比。
然后,他们根据自开始以来的时间和最新百分比计算剩余时间。如果您有一个设置时间较长的进程,您可能希望添加更多功能,以便它不包括此时间,可能通过在发送 0% 更新时重置预测时钟。

于 2009-01-14T17:32:26.387 回答
0

它与其他一些提议具有相同的效果,但通过收集作为时间函数的完成百分比数据,可以使用统计方法生成 R^2 最佳拟合线并将其投影到 100% 完成。为了使其考虑到当前操作,可以对较新的数据赋予更大的权重(或者可以对旧数据进行细化)并使其忽略短期波动,可以对第一个数据点赋予更大的权重。

于 2009-01-16T20:32:53.257 回答