gpt4 book ai didi

javascript - 在 JavaScript 中,是否有以毫秒为单位的一致分辨率的时间来源?

转载 作者:搜寻专家 更新时间:2023-11-01 04:21:21 24 4
gpt4 key购买 nike

在以毫秒为单位的函数分辨率方面,JavaScript 中的 Date 对象在机器之间和浏览器之间执行不同。我发现大多数机器在 IE 上的分辨率约为 16 毫秒,而 Chrome 或 Firefox 的分辨率可能高达 1 毫秒。

是否有其他函数可用于一般的 JavaScript 或 IE 专门用于提供更好的时间分辨率?我正在尝试以毫秒为单位捕获和记录 keyDownkeyUp 时间,并且需要它在 +/- 10 毫秒或更短的范围内。

要查看对此的说明,请查看本页的“新日期 () 的决议”部分。有一个带有测试按钮的表格,以毫秒为单位评估当前机器/浏览器的 JavaScript 时间分辨率。有趣的是,Chrome 经常获得 1 毫秒的分辨率。

http://www.merlyn.demon.co.uk/js-dates.htm#OV

我的任务是寻找一种 JavaScript 日期时间方法,该方法将在浏览器中提供低于 10 毫秒的分辨率。替换或改进 Date() 的东西。

最佳答案

既然您提到了 Internet Explorer,我假设您使用的是 Windows。您获得的 15 毫秒分辨率可能与 Windows 系统计时器分辨率有关。

我还注意到,通过在 Windows 上运行 Java 程序,系统计时器的分辨率约为 16 毫秒左右。 (使用 System.currentTimeMillis() 方法。)

我进行了相当大的搜索,看看是否可以找到有关 Windows 系统计时器分辨率的任何信息,并且能够找到指向 Inside Windows NT High Resolution Timers 的链接。来自科技网。它提到了一些关于 Windows 系统计时器的分辨率:

Windows NT bases all of its timer support off of one system clock interrupt, which by default runs at a 10 millisecond granularity. This is therefore the resolution of standard Windows timers.

(我假设 Windows XP 和 Vista 仍然有相同的计时器,认为它是 NT 的后代。)

除非 Firefox 和 Chrome 实现了自己的高分辨率计时器,否则我相信您能够从 Windows 平台上的浏览器获得的最佳分辨率约为 10 毫秒。

虽然与这个问题无关,但我还在 MSDN 上找到了一篇关于 Windows 上高分辨率计时器的文章:mplement a Continuously Updating, High-Resolution Time Provider for Windows

关于javascript - 在 JavaScript 中,是否有以毫秒为单位的一致分辨率的时间来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/131068/

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