我需要为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/

10-11 02:09