当定义的onmousedown函数触发时,我是否按下鼠标按钮和来测量之间的延迟?如何测量JavaScript中交互和mousedown事件之间的延迟?
或者,是否有目前的统计数据提供了有关这个延迟?
我认为这两个事件不是同时进行的,通过浏览器的不同而不同。
我唯一的方法迄今已创建多个onmousedown事件的事件,并使用日期测量它们之间的时间差。我发现他们之间有6毫秒的差异。
我的工作,哪些是时间敏感(以毫秒为单位)的音频应用。
任何帮助是伟大的,谢谢!
当定义的onmousedown函数触发时,我是否按下鼠标按钮和来测量之间的延迟?如何测量JavaScript中交互和mousedown事件之间的延迟?
或者,是否有目前的统计数据提供了有关这个延迟?
我认为这两个事件不是同时进行的,通过浏览器的不同而不同。
我唯一的方法迄今已创建多个onmousedown事件的事件,并使用日期测量它们之间的时间差。我发现他们之间有6毫秒的差异。
我的工作,哪些是时间敏感(以毫秒为单位)的音频应用。
任何帮助是伟大的,谢谢!
你很可能寻找Event.timeStamp和当前的时间戳,Date.now()之间的差异。他们都返回经过的时间以毫秒为单位的时代:
的JavaScript
document.getElementById("mydiv").addEventListener('click', function (e) {
// in milliseconds
var latency = Date.now() - e.timeStamp;
});
通过减去前者从后者 - ,你可以在包括片段看到 - 你可以测量延迟。
不幸的是,事件timeStamp
不是鼠标点击的实际硬件时刻,而是浏览器从您的操作系统收到点击事件。然而,这个总是发生在事件处理程序被调用之前,并且应该具有可以忽略的延迟。
关于链接小提琴,我的时间差低于1ms的大部分时间;偶尔我设法通过无情的按钮粉碎和页面重新加载实现超过10毫秒的值,但这并不常见。当然,如果您在事件处理程序中执行更多计算密集型任务,则差异可能会轻松攀升,在这种情况下,延迟补偿可能会迅速成为重要部分。
'.timeStamp'非常好的应用程序! – Bergi 2015-02-23 18:58:18
我特别感兴趣的是桌面浏览器;我知道移动事件延迟300毫秒,但这不是我想要测量的。 – suncannon 2015-02-23 18:13:49
使用JavaScript进行时间敏感功能可能不是您的最佳选择。我建议您研究其他具有更好定义的应用程序的工具。 – Palpatim 2015-02-23 18:17:42
_“对时序敏感的函数使用JavaScript可能不是您的最佳选择。”_ - 同时请记住** JavaScript是单线程**。 – 2015-02-23 18:32:46