输入延迟来自哪里,如何把一次高延迟交互还原为可治理的执行链?
简答题困难908 次浏览
参考答案与解析
# 核心结论
一次高输入延迟不能只归因于事件处理函数。完整交互链通常由输入延迟、事件处理时间和呈现延迟组成:输入可能先被前序长任务阻塞;事件回调内部可能执行昂贵计算并产生连续微任务;回调完成后,样式计算、布局、绘制和合成仍可能延迟下一帧。治理 INP 的正确方式是先用真实用户数据确定慢交互集中在哪些页面、设备和操作,再在实验室时间线中把某次异常交互关联到输入前任务、事件回调、微任务和渲染阶段,形成可验证的执行链。
# 底层机制
浏览器接收到点击或键盘输入后,通常需要等待主线程可以处理事件。如果此前正在解析大块数据、执行第三方脚本或运行超过约五十毫秒的长任务,事件监听器就无法立即开始,这段等待属于输入延迟。监听器开始
