gpt4 book ai didi

WPF 计时器问题...无法获得正确的毫秒计时

转载 作者:行者123 更新时间:2023-12-05 01:25:49 24 4
gpt4 key购买 nike

我有一个关于计时器的基本问题。我的计时器表现得很奇怪。我试图让滴答声每毫秒发生一次来更新我的数据。我似乎可以让它在几秒钟内工作,但不是几毫秒..

我正在使用 WPF,我想知道为什么以下内容无法正常运行。

似乎“第二个”倒计时工作正常,但在使用相同的过程并编辑一个值时,它似乎没有正确“滴答”。

我正在尝试使用以下方法进行毫秒倒计时:

            //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_dIntroCountdown。如果我们以毫秒为单位,我将其设置为 5000.0,如果以秒为单位,则为 5.0

也许我对此看得太多了……有什么想法吗?

感谢所有帮助。

谢谢!

最佳答案

你想要这个分辨率做什么?如果您只是想记录时间,请使用 System.Diagnostics.Stopwatch .它具有约 10ns 的分辨率。

1 毫秒的时间分辨率对于 WPF 可以处理的来说太精细了。即使在 120 fps(很高)下,您也只能获得 8.3 毫秒的分辨率。为了以 1 毫秒更新,您需要每秒渲染 1000 帧。这超出了任何现代系统的限制。甚至人眼也开始在 ~10 毫秒时失去对运动的不连续变化的追踪。

关于WPF 计时器问题...无法获得正确的毫秒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3182564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com