它实际上是一个明显的区别,我已经看到,但不能解释。这些计时器有间隔时间定于1毫秒(最低可用的),但同时它的最小化,它似乎打勾更快?任何人都可以解释这种现象的到我吗?如果可能的话,解释如何重现的影响,同时窗口是最大化?

有帮助吗?

解决方案

是这一个 Forms.Timer?

我怀疑它正在运行得更快,更有可能在定时器发射事件正在处理一个更及时的方式进行。同时最大限度地减少有大概会较少的消息处理的形式windows的消息泵,这可能占一个较大的时间片处理的定时器的信息。还有isue的最小计时器的决议。

如果适用的话,尝试采用一种其他计时器类型,例如 System.Timers

Windows形式的计时器组件 单程,并且被限制到一个 精确度为55毫秒。如果你 需要一个多线程的定时器 更高的精确度,使用定时器类 在该系统。计时器名称空间。

Ref.

其他提示

如果我没有记错的话, 最低 决议你可以走出去的 System.Windows.Forms.Timer (我的假设是什么你用这里的)是55ms。设置为1ms基本上意味着它蜱。

当然,一个计时器并不能保证蜱将到达的确切时间间隔规定。如果你的程序是忙着做其他的事情(如重新绘制屏幕)那么它可能需要多几毫秒,或者明显更多的下沉重的负担。如果计时器是设定的时间间隔1第二,你不会真注意到这一点,但在最小的窗口(55ms),您可能。

当的应用被减至最小,有较少的其他活动,可以断定时器的事件之前,他们开火。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top