gpt4 book ai didi

c# - 如何获取WPF游戏中的当前时间? (无 XNA)

转载 作者:太空狗 更新时间:2023-10-29 20:00:29 24 4
gpt4 key购买 nike

我正在尝试制作一款类似应用程序的小游戏,具有一定的互动性,但需要足够准确的时间来评估游戏。

我看到一些 java 版本使用这种称为 System.nanoTime 的方法。

它有 .NET 版本吗?

更重要的是,我正在寻找一种可以用来评估世界的计时器。我应该使用实际的计时器控件并订阅它吗?

此外,游戏在与 UI 线程不同的线程上进行评估。以防万一这会有所作为。

最佳答案

DateTime.Now 没有纳秒范围内的实际分辨率。 Tick 是 100 纳秒的时间“ block ”,但 DateTime.Now 不会解析每个 Tick。我相信 DateTime.Now 的最低分辨率是 10 毫秒 左右。如果您快速调用 DateTime.Now 两次,您将得到相同的答案。您只会在大约 10 毫秒后看到它开始计时,具体取决于您在循环中调用它的位置。

Stopwatch class具有比 DateTime.Now 更精细的分辨率。我相信它会精确到毫秒,这应该会给你足够的分辨率来确定你的游戏评估代码是否表现得足够好。在提供的链接中有一个很好的例子,对比了秒表和日期时间。

此外,Frequency 字段和 GetTimestamp 方法可用于代替非托管 Win32 API QueryPerformanceFrequency 和 QueryPerformanceCounter。

关于c# - 如何获取WPF游戏中的当前时间? (无 XNA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5587096/

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