DispatcherTimer和高CPU负载
问题描述:
嘿,我有一个WPF应用程序,并使用DispatcherTimer每分钟触发一个事件。 我运行我的应用程序和CPU负载跳转到100%。我试图在不使用定时器的情况下编译应用程序,并且cpu的负载非常低,因为我预期它会是。DispatcherTimer和高CPU负载
样品的编号:
DispatcherTimer MainTimer = new DispatcherTimer();
MainTimer.Tick += new EventHandler(Core.Timers.MainTimer_Tick);
MainTimer.Interval = TimeSpan.FromSeconds(60);
MainTimer.Start();
public static void MainTimer_Tick(object sender, EventArgs e)
{
// initialize new class, do something...
}
没有这种代码CPU负荷低。 这是什么原因?
更新 我可以使用som其他计时器吗?准确性并不重要。
答
我使用System.Timers.Timer解决了这个问题。它的行为正确。
在MainTimer_Tick中没有代码的情况下CPU负载很低? – STO 2010-06-23 22:05:03
不,这是一样的。 – daemon 2010-06-23 22:10:52
你确实会因为_empty_'Tick'处理程序而导致性能下降? – SLaks 2010-06-23 22:12:05