我正在为一个应用程序实现一些诊断,用户可以看到图形更新的速度,我遇到了一些看似奇怪的行为.我的图形更新功能是使用Timer调用的,它看起来像这样:
private void RefreshScreen(object sender, EventArgs e)
{
DateTime begin = DateTime.Now;
// Do some updating...
DateTime end = DateTime.Now;
graphicsUpdateRate = (end - begin).TotalMilliseconds;
}
Run Code Online (Sandbox Code Playgroud)
当我稍后在另一个函数中将graphicsUpdateRate显示到一个单独的窗口时,它几乎总是为0.偶尔它实际上会是~0.5,但我从未在低于0.48的情况下看到它.有什么理由为什么如果它低于这个会将它钳制到0?使用TimeSpan.TotalMilliseconds时有什么我想念的吗?我对此感到困惑,因为它似乎是随机的.