Javascript获得更快的指针事件

Javascript获得更快的指针事件,javascript,performance,html5-canvas,electron,addeventlistener,Javascript,Performance,Html5 Canvas,Electron,Addeventlistener,我正在为Microsoft Surface创建分析应用程序。应用程序应该能够在绘图时从MS手写笔收集数组中的数据(现在我使用的是HTML5画布)。 我用它来制作桌面,用于手写笔数据采集HTML5指针事件API 所以,现在有了事件监听器,当触控笔在画布上移动时会触发 canvas.addEventListener(“pointermove”,collectData,false) 而收集数据(事件)函数看起来像: function collectData(event) { array.pus

我正在为Microsoft Surface创建分析应用程序。应用程序应该能够在绘图时从MS手写笔收集数组中的数据(现在我使用的是
HTML5画布
)。 我用它来制作桌面,用于手写笔数据采集
HTML5指针事件API

所以,现在有了事件监听器,当触控笔在画布上移动时会触发

canvas.addEventListener(“pointermove”,collectData,false)

收集数据(事件)
函数看起来像:

function collectData(event) {
    array.push({
        a: event.tiltX,
        l: event.tiltY,
        p: event.pressure,
        t: Date.now()
    });
}
问题是,这个事件监听器每秒激发大约70次,对我来说,这似乎是性能限制。出于我的目的,这个值非常小,我想将这个值增加两倍甚至更多


有没有办法提高分辨率,或者有没有另一种更有效的方法从JS中的手写笔收集数据?

这是基于鼠标(输入设备)分辨率的光标在屏幕上移动的次数,没有更多的值,所以不能仅仅提高分辨率。但是,您可以这样做,以增加数据中的点数

移动定点设备时,用户代理必须调度此事件 当它在一个元素上时。事件发生的频率,而 移动的定点设备为实现、设备和 特定于平台,但应选择多个连续的mousemove事件 激发持续的指针设备移动,而不是单个 每个鼠标移动实例的事件。实现是 鼓励确定平衡的最佳频率率 响应性与性能


这是基于鼠标(输入设备)分辨率的光标在屏幕上移动的次数,没有更多的值,所以不能仅仅增加它。但是,您可以这样做,以增加数据中的点数

移动定点设备时,用户代理必须调度此事件 当它在一个元素上时。事件发生的频率,而 移动的定点设备为实现、设备和 特定于平台,但应选择多个连续的mousemove事件 激发持续的指针设备移动,而不是单个 每个鼠标移动实例的事件。实现是 鼓励确定平衡的最佳频率率 响应性与性能


我想这是画布相关的,甚至是浏览器相关的,你能提供一把小提琴来演奏和你的一样多的东西吗?我想这是画布相关的,甚至是浏览器相关的,你能提供一把小提琴来演奏和你的一样多的东西吗?用x,y坐标它可以工作,但有倾斜角度,压力和时间可能会一团糟。我需要收集数据以便将来分析,所以对我来说插值不是最好的选择。是否有其他方法可以更频繁地运行数据采集功能?使用
requestAnimationFrame
可以获得16ms左右的时间,使用
setTimeout
setInterval
可以获得4ms左右的时间。最好的方法是
setImmediate
postMessage
(),但请记住,函数运行得更频繁并不意味着捕获值的变化率也会增加。使用x,y坐标可以正常工作,但如果使用倾斜角度、压力和时间,可能会比较混乱。我需要收集数据以便将来分析,所以对我来说插值不是最好的选择。是否有其他方法可以更频繁地运行数据采集功能?使用
requestAnimationFrame
可以获得16ms左右的时间,使用
setTimeout
setInterval
可以获得4ms左右的时间。最好的方法是
setImmediate
postMessage
(),但请记住,函数运行得更频繁并不意味着捕获值的变化率也会增加。