估计剩余秒数(基于时间和进度)

时间:2012-09-25 10:51:15

标签: c#

我正在尝试估算MSI安装剩余的秒数。虽然我知道这不准确但我的计算似乎比它应该更多 - 我怎么能改进?一个问题是,经常我发现进度火箭从~0%到~95%,很长一段时间都会评估为0秒。

我从MSI获得进度事件,每次更新进度时,我都会执行以下操作:

    private int CalculateSecondsLeft(DateTime start, int overallProgress)
    {
        lock (this)
        {         
            if (overallProgress == 0)
            {
                return 0;
            }

            var timeSpent = DateTime.Now - start;
            double cal1 = timeSpent.TotalSeconds / overallProgress;
            double cal2 = cal1 * (100 - overallProgress);
            return (int)cal2;
        }
    }

0 个答案:

没有答案