hughfenghen.github.io
hughfenghen.github.io copied to clipboard
警惕 `requestAnimationFrame` 可能导致前端性能问题
requestAnimationFrame 执行频率跟屏幕刷新率相关
而 60Hz 已成过去式,高刷屏用户越来越多。
// 刷新率: 用户占比
20~50Hz: 10%
50~80Hz: 38%
80~110Hz: 5%
110~140Hz: 18%
>= 140Hz: 24%
大于 110Hz 的高刷屏用户居然超过 40% 有点出乎意料,过高的执行频率可能导致性能问题
所以需要小心不要使用 requestAnimationFrame 执行会导致 DOM 重排的任务,
尽量保证 requestAnimationFrame 回调函数的代码足够精简。
利用好 requestAnimationFrame 回调函数的第一个参数或函数截流等方法,控制执行频率。