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其他计时器吗?准确性并不重要。

+0

在MainTimer_Tick中没有代码的情况下CPU负载很低? – STO 2010-06-23 22:05:03

+0

不,这是一样的。 – daemon 2010-06-23 22:10:52

+0

你确实会因为_empty_'Tick'处理程序而导致性能下降? – SLaks 2010-06-23 22:12:05

我使用System.Timers.Timer解决了这个问题。它的行为正确。