之前有写两个方法,这两个方法都是要监听scroll
事件的,所以用了throttle()
优化性能。不过在我设定throttle()
的间隔时间参数的时候发现,至少要设定在15ms
以下甚至10ms
以下才能达到我理想的顺滑的效果,在这个数值以上的话,那两个方法监听的时候,如果变化的速度太快就会有滞留等情况。
那么我就想问,浏览器默认的监听频率是多少? 也就是我不用throttle()
的情况下的时间间隔是多少呢? 因为假如,浏览器默认的监听频率也是10ms
,那么我为了达到理想状态给throttle()
添加时间参数也是10ms
的话,那用throttle()
似乎就没有意义了。
google之后没找到这个默认频率,比如在resize MDN里只提到一句:
Since resize events can fire at a high rate, the event handler shouldn't execute computationally expensive operations such as DOM modifications.
还望知情的前辈告知这里的high rate到底是多少,或者给几个搜索的关键词也行,谢谢!!
一般显示器最优 fps 是 60
1000 / 60 = 16.67
也就是 17ms 一帧
你设置为 10ms,即使 js 能处理过来,显示器也无法每隔 10 ms 渲染一次