根据潜在错误重新计算进度百分比

Recalculate the progress percentage according to potential errors

我有一个进度,按照三个操作前进。 第一次操作需要 10 秒,第二次操作需要 15 秒,第三次操作需要 15 秒。 可以使用以下公式计算进度百分比:

elapsedTime/totalTime * 100%

其中总时间为 10+15+15 = 40 秒。

假设现在每个操作都可以有一个错误,在每个操作结束时计算(例如第一个操作需要多花 3 秒,所以完成它的时间是 13 秒)。 重新计算进度百分比的新方法是什么,以便进度 总是前进(应该缓慢前进但永远不会后退)?

我的进度最大值设置为 100。

totalTime 增加错误添加到总体进度中的数量

totalTime + error_time

为了让进度始终向前,您应该在发生错误时将显示冻结在该值,并且仅在 newly_calculated 百分比超过记忆值时才继续更新。

您在操作 2 结束时的图像:

totalTime  = 40;
elapsedTime = 25;

old_progress = 25 / 40 * 100 [62.5%]

然后出现错误:

errorTime = 3;
totalTime  = 40 + errorTime  ;
elapsedTime = 25;

new_progress = 25 / 43 * 100 [58.1%]

现在您等到 new_progress 值超过 old_progess 值,然后您可以再次更新。这样就永远不会倒退了

如果你在两边加上 error_Time 会怎么样?我的意思是这样的:

(op1+ error_Time_op1 + op2 +op3 )/(totalTime + error_Time_op1 ) * 100%