C2.17.2super-refresh touch sampling设计研究

报点率高于屏幕刷新率时可提供更早的位置数据用于预测渲染

别名: 超刷新报点 · 预测渲染 · 提前采样

概念解释

当触控报点率高于显示刷新率时,两次垂直同步之间会多出至少一个坐标。合成器或应用可以把这个更早到达的样本喂给预测渲染:在像素真正点亮之前,用刚到手的位置外推下一帧手指会在哪。多余的样本不是拿来多画几帧界面的,而是拿来缩短“上一帧坐标已经过时”的空窗。

机制

一帧显示周期里,扫描输出有固定的截止时刻。若触控只在帧开头报一次,预测器只能拿至少一帧之前的速度做外推,窗口大、误差大。若同一帧内还能再收到一个点,预测器可以在截止前改用更新的速度,相当于把外推距离从“一整帧”收成“半帧或更短”。这与把整条端到端延迟压下去是两条路:前者不改变显示时钟,只改变预测器看到的最后观测有多新。墨迹预测、光标垫和列表惯性的起速估计,都吃这批额外样本。报点再高,若事件在用户态排队到 vsync 之后才被读走,多出来的赫兹就浪费了。

怎么研究

固定显示刷新,只改变触控报点(或在驱动里丢弃隔次样本),比较预测器的输入年龄、预测位置与高速摄影中真实指尖的误差。自变量是报点/刷新比(1×、2×、4×)、预测窗口长度、以及轨迹类型(匀速、急停、掉头)。因变量是提交扫描前最后样本的年龄、预测偏差、以及急停时的过冲——过冲用来检查“多样本是否真的被读进预测器”,不是这里要压低的指标。若应用把事件攒到每帧处理一次,提高报点不会改变任何因变量,这个负结果本身就说明瓶颈在读点路径。

边界

高于刷新的报点帮不到点按确认、长按计时这类不需要帧间外推的任务。对几乎静止的拖动,额外样本的预测收益接近零,功耗却还在。部分 OLED 在低亮度下降低扫描,触控若仍以高赫兹报点,两者时钟再次错开,预测器要按实际 vsync 而不是标称刷新来算窗口。把“240 Hz 触控”写进宣传却在合成器里每帧只取最后一个点、不做外推,用户感知不到这条机制。

怎么落地

  • 在绘图和跟随手指的光标上,让合成器在帧截止前读取本帧内全部触控包,而不只是上一帧残留的一个点。
  • 用“最后样本年龄”作为性能指标:刷新 120 Hz 时,若提交时样本已超过 8 ms,说明多报的点没有进预测。
  • 不要为静态页面强开最高报点;把高报点限制在墨迹、游戏和滚动跟手这些真正做外推的表面。

延伸

  • 同组C2.17.1 报点率指传感器每秒采集触点位置的次数 · C2.17.3 报点率不足会在快速滑动时表现为跟手性差、轨迹呈折线 · C2.17.4 报点率是硬件参数,应用层无法通过软件插值完全弥补
  • 相邻C2.10 触摸延迟与跟手性 · C5.11 墨迹延迟与预测绘制
  • 站内检索predictive rendering · report rate · input age

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C2.17.2