WPF计时器问题。。。无法获得正确的毫秒刻度
我有一个关于计时器的基本问题。我的计时器动作很奇怪。我试图让滴答声每毫秒出现一次,以更新我的数据。我可以让它在几秒钟内工作,但不是几毫秒 我正在使用WPF,我想知道为什么下面的功能不正常 “第二次”倒计时似乎工作正常,但在使用相同的程序和编辑一个值时,它似乎没有正确地“勾选” 我尝试使用以下方法进行毫秒倒计时:WPF计时器问题。。。无法获得正确的毫秒刻度,wpf,timer,Wpf,Timer,我有一个关于计时器的基本问题。我的计时器动作很奇怪。我试图让滴答声每毫秒出现一次,以更新我的数据。我可以让它在几秒钟内工作,但不是几毫秒 我正在使用WPF,我想知道为什么下面的功能不正常 “第二次”倒计时似乎工作正常,但在使用相同的程序和编辑一个值时,它似乎没有正确地“勾选” 我尝试使用以下方法进行毫秒倒计时: //TimeSpan temp0 = new TimeSpan(0, 0, 0, 0, 1); CountdownTimer = new Disp
//TimeSpan temp0 = new TimeSpan(0, 0, 0, 0, 1);
CountdownTimer = new DispatcherTimer();
CountdownTimer.Tick += new EventHandler(Countdowntimer_Tick);
CountdownTimer.Interval = TimeSpan.FromSeconds(1.0);//temp0;
//TimeSpan temp0 = new TimeSpan(0, 0, 0, 0, 1);
IntroCountdownTimer = new DispatcherTimer();
IntroCountdownTimer.Tick += new EventHandler(Countdowntimer_Tick);
IntroCountdownTimer.Interval = TimeSpan.FromSeconds(0.001);//temp0;
上面的内容似乎适用于“秒”倒计时,但我需要更高的精度,因此我执行以下操作:
//TimeSpan temp0 = new TimeSpan(0, 0, 0, 0, 1);
CountdownTimer = new DispatcherTimer();
CountdownTimer.Tick += new EventHandler(Countdowntimer_Tick);
CountdownTimer.Interval = TimeSpan.FromSeconds(1.0);//temp0;
//TimeSpan temp0 = new TimeSpan(0, 0, 0, 0, 1);
IntroCountdownTimer = new DispatcherTimer();
IntroCountdownTimer.Tick += new EventHandler(Countdowntimer_Tick);
IntroCountdownTimer.Interval = TimeSpan.FromSeconds(0.001);//temp0;
这将给我们毫秒精度,但是,当我在我的程序中尝试这一点时,速度要慢得多。你知道为什么吗
void Countdowntimer_Tick(object sender, EventArgs e)
{
m_dIntroCountdown -= 1.0;
}
ps:我确实相应地设置了“m_dintro倒计时”。如果我们以毫秒为单位,我将其设置为5000.0,如果以秒为单位,则设置为5.0
也许我对这件事看得太多了,有什么想法吗
感谢所有的帮助
谢谢!您想要分辨率做什么?如果您只是想记录时间,请使用。它的分辨率为~10ns
1毫秒的时间分辨率对于WPF来说太精细了。即使是120 fps(这是很高的),分辨率仅为8.3毫秒。为了以1毫秒的速度更新,需要每秒渲染1000帧。这超出了任何现代系统的限制。即使是人眼也会在10毫秒左右开始失去运动中不连续变化的轨迹。Dispatchermer不是一个高精度计时器-它是一个低精度低精度计时器套件用于UI工作的ble(人们不会注意到100毫秒的延迟) 每1ms执行一次代码的高精度计时器很难实现,甚至不可能实现(如果系统中的其他进程使用100%CPU,而您的进程运行时间不超过1ms,您该怎么办?如果此时执行的代码必须从页面文件重新加载,并且需要1ms以上,您该怎么办?).这是C的代码: 以下是如何做到这一点: 添加3个标签和1个按钮:
Label1
、Label2
、Label3
和Button1
这是Vb(Visual Basic)的代码:
不,我不是想以每秒1000帧的速度更新WPF:)我是想提供一个高精度的计时器。至于秒表信息,太棒了。谢谢。