XAML DispatcherTimer间隔太慢

时间:2013-06-03 13:29:56

标签: c# windows-8 timer windows-store-apps

我需要为我的Windows 8商店应用程序计算得非常快。所以我将间隔设置为10个Ticks。因为我们每秒有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;
    }

1 个答案:

答案 0 :(得分:1)

来自DispatcherTimer类的MSDN描述:

  

不保证定时器在时间间隔内完全执行   发生,但保证在时间之前不执行   间隔发生。这是因为放置了DispatcherTimer操作   与其他操作一样在Dispatcher队列中。当。。。的时候   DispatcherTimer操作的执行依赖于其他作业   队列及其优先级。