【发布时间】:2022-02-28 18:40:43
【问题描述】:
我在我的 WPF 应用程序中遇到了一件奇怪的事情。我已经尝试过 DispatcherTimer 和 System.Timers.Timer 类,并比较了秒表所花费的时间。当我使用 DispatcherTimer 时,我的应用程序和秒表显示的间隔似乎几乎没有区别(测试了 30 分钟)。但是当我使用另一个 Timer 时,我在我的应用程序中大大浪费了时间。我本可以使用 DispatcherTimer,但问题是:当我从其他地方更新我的 UI 时,调度程序计时器似乎在那个特定的时间间隔内冻结,因此它也会浪费时间。为什么会发生这种情况以及如何纠正它?
【问题讨论】:
-
This question 可能有帮助。
-
不,我实际上是在阅读该链接后发布的。我不明白为什么 System.Threading.Timer 大约损失了这么多时间。 3秒。在 5 分钟内。虽然调度程序没有丢失任何东西。如果我的其他一些进程导致了这种延迟,那么它也应该反映在调度程序中,我猜
-
一般来说,定时器都有不同的用途。这就是为什么我把这个问题联系起来。此外,我也不希望计时器是准确的。它们是否取决于很多事情,例如系统负载。
-
但在 5 分钟内仍有 2 秒(或更多)。有很多松动。还有什么建议吗?
标签: wpf timer dispatchertimer