C#-.NET Timer控件在窗口最小化时运行得更快

实际上,这是我已经看到但无法解释的明显差异.这些计时器的间隔设置为1ms(可用的最低间隔),但是虽然已将其最小化,但它的跳动速度似乎更快?谁能向我解释这种现象?如果可能,请说明如何在窗口最大化的情况下重现效果?

解决方法:

这是Forms.Timer吗?

我怀疑它运行得更快,更有可能是因为定时器触发事件​​被更及时地处理了.虽然最小化了,但是由Form窗口的消息泵处理的消息可能会更少,这可能会占用更大的时间片来处理Timer消息.还有计时器最低分辨率的问题.

如果适用,请尝试使用其他计时器类型之一,例如System.Timers

The Windows Forms Timer component is
single-threaded, and is limited to an
accuracy of 55 milliseconds. If you
require a multithreaded timer with
greater accuracy, use the Timer class
in the System.Timers namespace.

Ref.

上一篇:javascript-页面上任意数量的视频的HTML5视频自定义控件


下一篇:以C#形式实施标尺