我需要为Windows 8应用商店快速计数。所以我将间隔设置为10滴答。因为我们每秒有10,000,000个滴答声就足够了。但结果我只得到30个滴答声。我如何获得更快的计时器?
我的计时器代码(和控制计时器):
int GLOBAL_counter = 0;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromTicks(10);
timer.Tick += timer_Tick;
timer.Start();
DispatcherTimer timerControl = new DispatcherTimer();
timerControl.Interval = TimeSpan.FromSeconds(1);
timerControl.Tick += timer_Tick_timerControl;
timerControl.Start();
}
private void timer_Tick(object sender, object e)
{
GLOBAL_counter++;
}
private void timer_Tick_timerControl(object sender, object e)
{
Label1.Text += GLOBAL_counter.ToString() + "\r\n";
GLOBAL_counter = 0;
}
最佳答案
从DispatcherTimer类的MSDN描述:
不能保证计时器在时间间隔内准确执行
发生,但可以保证它们不会在该时间之前执行
间隔发生。这是因为放置了DispatcherTimer操作
像其他操作一样在Dispatcher队列上。当。。。的时候
DispatcherTimer操作执行取决于其他作业
队列及其优先级。
关于c# - XAML DispatcherTimer间隔太慢,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16897941/