.NET中的计时器摘要

在 Windows 中跟踪时间有几种不同的方法:

1.System.Windows.Forms.Timer
这是 Windows 编程中最常用的计时器。虽然它很容易使用,但它只有 1/18 秒的分辨率。由于我们每秒最多可以有一千帧,因此这样的分辨率对于游戏程序而言不是太令人满意。

2.timeGetTime
这种 Windows DLL 在有些版本的 Windows 上提供 1 微秒的分辨率,在 Windows NT 上为 5 微秒。这种变化太大,而且我们确实不想通过检查游戏运行的操作系统来查看我们是否需要调整计时器的值。

3.System.TickCount
这种托管调用返回滴答数(表示毫秒数)。这接近于我们的期望,但我们可以做得更好。

4.QueryPerformanceCounter
这是首选使用的计时器,其分辨率小于 1 微秒。这是在游戏开发中最常用的计时器。

编写最后一种计时器需要一定的技巧,因为它要求调用 Windows 中的一个低级 DLL(kernel32,如果您需要知道)。

你可能感兴趣的:(.net)