鼠标轨迹测试

在下面的区域里匀速画十几圈,看画出来的线是不是圆滑。页面会数出轨迹里有多少处孤立尖峰——相邻采样点之间的距离突然变大、而两边又都正常——以及鼠标完全静止时传感器会不会自己产生计数(静止漂移)。

模式
点开始之后,在这个区域里匀速画圈
点“开始绘制”,然后在这里匀速画十几圈
孤立尖峰
—处
画完之后点“停止”或松开,这里会给出统计
等待绘制
采样点数
—
分析时长
—ms
最长的一段连续运动
超线间隔
—
含连着出现的,只作分母
中位步长
—px
相邻两点的典型间距
最大步长
—px

怎么读这些数

指标看什么说明
孤立尖峰丢帧的形状自己超过门槛,而左右两个邻居都没超。在一串均匀的小步里插进一个大跨步,这正是丢帧该有的样子。首尾两步只有一侧有邻居,不参与判断。
超线间隔分母,不是结论超过门槛的间隔总数,把连着出现的一起算了进去。匀速甩动时正常的间距会成串超线,所以它本身说明不了任何问题——要和孤立尖峰对比着看:两者差不多,说明超线的基本都是尖峰;超线很多而孤立尖峰是 0,那就是你画快了。
中位步长平滑度匀速画圈时它约等于"每个采样点走多远"。这个数本身无所谓好坏,它取决于你画多快和鼠标回报率多高——它的用处是当基准,也就是上面那个门槛:判定门槛是中位步长的 5 倍且不低于 20 像素。两个条件缺一不可:光有倍数的话,慢速移动时中位步长只有零点几像素,手一抖就满屏"丢帧";光有绝对值的话,快速甩动时正常的间距也会全部超线。
最大步长有没有突变和门槛比一比。如果最大步长只比门槛高一点点,那基本是人手的抖动;如果高出好几倍,那一下确实不正常。

静止漂移:手离开鼠标单独测

轨迹测试只能看出"动的时候有没有问题"。传感器的另一个常见毛病是静不下来:鼠标明明搁在桌上没人碰,光标却自己缓慢爬动。这个必须单独测,方法就是把鼠标放着不动。

点开始后先晃一下鼠标确认信号,然后停手
静止期间采样
—
好鼠标应当是 0
累计路程
—px
来回抖动的总量
抖动幅度
—px
最远两点的距离
判定
—

判据很干脆:鼠标不发报文,事件就不会派发,所以一只没有自激的鼠标在完全静止时,采样数应当是 0。真收到了采样,说明传感器在动——可能是自激,也可能是表面干扰(玻璃、反光、灰尘、桌面共振)。

但"0 个采样"本身是有歧义的:指针根本不在浏览器窗口里、或者鼠标没接上,页面同样一个事件都收不到,和"鼠标很安静"在数据上完全一样,而这两种情况的结论天差地别。所以流程多了一步——先让你把鼠标晃一下,确认页面真的收得到信号(这一步的采样随后会全部丢掉,不计入结果),再等你停手。走过这一步之后,"0"才真正等于静止。要是一直收不到信号,页面会直接说"没收到信号",而不是替你判成静止。

需要说明的是:手放上去就不算数了。心跳、呼吸、甚至桌子被碰一下,都会让手带着鼠标动,那测出来的是你的手,不是鼠标。所以要么把手完全拿开,要么只用一根手指轻轻搭着不施力。

轨迹测试测不到什么

常见问题

“跳变”是不是就是丢帧?

不是,页面抓到的跳变有两种来源,浏览器分不出来。一是传感器漏报了几个计数——那是真的丢帧;二是你的手真的甩快了,一个采样间隔里本来就该走那么远。两者在数据上都是"相邻两个采样点之间距离特别大",没有任何字段能区分。所以本页只说"跳变",不说"丢帧"。

那我怎么判断到底是哪一种?

看形态,别看总数。丢帧是"在一串均匀的小间距里插进一个孤立的大间距",像尖峰;手甩快了会让连续一串间距一起变大,是一条整体的隆起。页面就是按这个来的:标题那个数只数"孤立尖峰"(自己超线、左右两个邻居都没超),把连着出现的一起排除在外。所以正确的用法是匀速画上十几圈——孤立尖峰反复出现,那是丢帧;超线间隔很多而孤立尖峰是 0,那是你画快了。

静止漂移测试为什么要求手离开鼠标?

因为这个测试要测的是"鼠标完全不动时,传感器会不会自己产生计数"。手搭在鼠标上,心跳和呼吸带来的微动就会被算进去——那不是传感器的问题,是你的手在动。所以要么把手完全拿开,要么只用一根手指轻轻搭着不施力。

为什么轨迹会自己慢慢消失?

这是刻意做的渐隐,不是画丢了。鼠标在高回报率下每秒产生上千个点,画满十几秒之后整个区域会糊成一团黑,反而看不清轨迹的形状。渐隐让最近的轨迹最清楚,而分析用的数据一直在缓冲区里,不受影响。

鼠标维修

二维码位微信
淘宝店铺二维码淘宝店铺

鼠标不好用了?联系我们看看。

鼠标维修