windows phone DispatcherTimer精度

Dav*_*cio 0 c# windows-phone-7

所以,我使用DispatcherTimer来模拟计时器的应用程序(Windows Phone 7.5 over c#).我将间隔设置为1毫秒:

timer.Interval = new TimeSpan(0,0,0,0,1);
Run Code Online (Sandbox Code Playgroud)

然后我宣布一个TimeSpan,以便做一个简单的倒计时:

TimeSpan countdown = TimeSpan.FromSeconds(10);
Run Code Online (Sandbox Code Playgroud)

在每个刻度上im Substracting 1毫秒:

countdown = countdown.Subtract(TimeSpan.FromMilliseconds(1));
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中的Windows Phone模拟器256/512与"没有问题"的工作,但是当我在我的手机上运行它(LG量子)似乎有精度问题.我将它与运行应用程序的PC屏幕进行了比较,并且在手机上的速度较慢.我试图不在我的手机中以调试模式运行应用程序.这有什么解决方案吗?或者我必须采取另一种方法?

Eri*_*ric 6

这里采用不同的方法会更好:

  1. 记录启动计时器的当前时间

    DateTime startTime = DateTime.Now;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 每次计时器滴答时,重新计算倒计时

    TimeSpan countdown = DateTime.Now - startTime;
    
    Run Code Online (Sandbox Code Playgroud)