不使用调度程序的WPF当前时间



我想知道是否有其他选项显示当前时间而不使用DispatcherTimer?不幸的是,应用程序需要运行在缓慢的PC和DispatcherTimer不断增加内存使用。我在WPF性能分析工具中检查了这一点,这是真的-1秒时间跨度的CPU使用率约为5-15%。因为我使用类来获取时间值并在标签上显示,如果显示方法可以在没有xml生成控件的情况下运行,那将是非常棒的。

谢谢!

@EDIT:

DispatcherTimer dispatcherTimer = new DispatcherTimer(); 
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); 
dispatcherTimer.Interval = new TimeSpan(0, 0, 0); 
dispatcherTimer.Start(); 

private void dispatcherTimer_Tick(object sender, EventArgs e) 
{ 
lbl.Content = DateTime.Now.ToString("F"); 
// lbl is static label which i create once and show i several windows. 
}

您的间隔为0,这意味着…为什么需要每秒更新10次以上的UI ?如果变化如此频繁,没有人能够处理这些变化。默认情况下,WPF每秒只更新屏幕60次,因此您的间隔应该至少为1000/60 = 16.6 ms。然而,我认为250ms就足够了。

最新更新