我正在为Microsoft Surface创建分析应用程序。应用程序应该能够在绘图时从MS触控笔以阵列形式收集数据(现在我正在使用HTML5 canvas
)。
我正在使用electron将其设置为桌面,以便进行手写笔数据收集HTML5 Pointer Events API
。
因此,现在有了事件侦听器,当触控笔在画布上移动时会触发
canvas.addEventListener(“ pointermove”,collectData,false);
collectData(event)
函数如下:
function collectData(event) {
array.push({
a: event.tiltX,
l: event.tiltY,
p: event.pressure,
t: Date.now()
});
}
问题是,此事件侦听器每秒触发约70次,对我来说,这似乎是性能限制。出于我的目的,该值非常小,我想将该值增加两次甚至更多。
是否有任何方法可以增加它,或者还有另一种更有效的方法来从JS中的手写笔收集数据?
答案 0 :(得分:0)
这是基于鼠标(输入设备)分辨率的光标在屏幕上移动的次数,没有更多的值,因此您不能仅仅增加它。但是您可以interpolate来增加数据中的点数。
https://w3c.github.io/uievents/#mousemove
移动指针设备时,用户代理必须调度此事件 当它在一个元素上时。事件发生的频率 指点设备已移动,是实现,设备和 特定于平台,但应连续多个mousemove事件 为持续的指针设备移动而触发,而不是一次 鼠标移动的每个实例的事件。实现是 鼓励确定最佳的频率速率来平衡 响应与性能。