拖动跟随的延迟阈值远低于点击响应
别名: 跟手性 · 拖动延迟 · touch tracking lag
概念解释
点一个按钮,晚 80 毫秒高亮,多数人仍觉得是一次干脆的按下。拖一条滑块,晚 80 毫秒,拇指和滑块之间会裂开一条缝,整段手势都像隔着橡皮筋。跟手延迟(tracking latency)的可觉察阈值远低于点击响应(click latency):连续跟踪要跟上一帧一帧的手,离散点击只要在因果窗口里给出一次状态变化。两条线不能共用一个「响应要快」的指标。
机制
拖动是闭环控制。手在动,眼睛在拿对象位置当误差信号,下一小段动作按误差来修。环路里每多一帧延迟,修正就按过时的误差来做,对象开始振荡或黏滞,人只能放慢手来等环路。点击是开环:按下,等一次确认。确认可以晚到即时窗口的边缘,因为中间没有要连续修的误差。
所以阈值差出好几倍。触摸拖动上,大约二三十毫秒的附加延迟就已经能被稳定检出;点击则可以接近百毫秒才从「我按的」变成「它回的」。帧率把这条差写进硬件:60 Hz 一帧约 17 毫秒,拖动多一帧就在阈值附近,点击多一帧几乎无感。
怎么研究
Jota、Ng 等人用高刷新装置给指点与拖动注入延迟,测检测阈和操作表现。拖动任务对延迟更敏感:同一套延迟,拖动的路径偏差和主观「跟手」评分先垮,点击正确率还在。
自变量:注入延迟、任务类型(点按 / 拖动 / 缩放)、显示刷新。 因变量:延迟检测阈、路径误差、完成时间、主观跟手评分。
实验室常用接触式显示和固定手臂。手机单手悬空、游戏手柄、鼠标各有自己的基线延迟,阈值要在目标装置上重测,不能把桌面触摸的 20 毫秒直接写进手机验收。
边界
惯性滚动在手指离开后本来就不是闭环跟踪,跟手阈值管的是指还在屏上的那一段。键盘快捷键、遥控器的「确定」属于点击一类。眼动与头动作为指针时,跟踪阈值往往更紧,因为头的运动更快、预测模型更脆。网络协同里别人的光标必然延迟,不要拿跟手标准去卡远程光标;本地指针仍须按跟踪阈值来。
怎么落地
- 把点击类操作和拖动类操作分成两套延迟预算:点击可以对齐即时窗口,拖动要对齐帧时间。
- 拖动、缩放、绘图、滚动跟手的计算放在本地 UI 线程,不要经过网络或重布局。
- 验收时分别测:按钮按下到高亮,以及拖动中手指与对象的间距。只用「平均响应时间」会把拖动的问题稀释掉。
- 验证:在目标设备上拖一个小对象划过屏幕。出现稳定的空间缝或对象来回拉扯,跟手已经失败——即使同一页的按钮点击仍然觉得快。