我正在构建一个需要每秒触发事件的应用程序,但它需要处于每秒的顶部。几秒钟之间的射击不够好。我不认为计时器是可以接受的,因为虽然我可以将它设置为每秒触发,但我不能告诉它从第二个顶部开始。它可能会随着时间的推移略微漂移。
是否可能会挂起系统级事件,系统时间会更新?
关于如何实现这一目标的任何其他想法?
答案 0 :(得分:2)
我之前在moble设备上取得了巨大的成功。这种方法还可以消除漂移(抖动)。
在我的具体情况下,我的计时器间隔是100毫秒,所以我可以在100毫秒内捕获第二个变化。您将间隔设置为10毫秒。
根据您的需要,您可能会考虑使用基于服务器的计时器。
[update]将时间存储为Integer(tick count)而不是DateTime更快。在初始化时,循环直到第二次更改,然后存储刻度计数(Environment.TickCounts)。当前的滴答计数减去保存的滴答计数大于1000时,您知道已经过了一秒钟。