划重点 —— requestAnimationFrame

基本定义

typescript 复制代码
function requestAnimationFrame( callback: ( time: DOMHighResTimeStamp ) => void ): number
function cancelAnimationFrame(requestId: number): void

浏览器在 下一次重绘之前 调用传入给该方法的动画函数(即回调函数)。回调函数执行次数通常是 每秒 60 次 ,但在大多数遵循 W3C 建议的浏览器中,回调函数执行次数通常与浏览器屏幕刷新次数相匹配。

requestAnimationFrame() 的执行是一次性的

用途

主要用途是按帧对网页进行重绘

优缺点

优点

  • 利用显示器刷新机制,由系统决定回调函数的执行时机,节省系统资源,一般不会引起丢帧,不会卡顿;
  • 在页面不处于浏览器的当前标签,自动停止刷新,节省了CPU、GPU和电力。

缺点

在主线程上完成。主线程繁忙,requestAnimationFrame的动画效果会降低。

相关知识点

回流、重绘、回调函数、浏览器刷新频率、动画原理

相关推荐
凌栀茗5 分钟前
html第二天
前端·javascript·html
你脸上有BUG5 分钟前
CSS实现透明内层+渐变边框的优雅方案
前端·css·毛玻璃
Amumu1213814 分钟前
Redux介绍(一)
前端·javascript·react.js
麷飞花17 分钟前
TypeScript问题
前端·javascript·vscode·typescript·ts
阿湯哥19 分钟前
ReAct智能体
前端·react.js·前端框架
放逐者-保持本心,方可放逐21 分钟前
electron 中的那些事(很关键)-核心要点补充
前端·javascript·electron
战族狼魂22 分钟前
Python 完整实现 BCrypt GUI 工具
java·前端·python
念念不忘 必有回响25 分钟前
vue项目从零开始配置国际化
前端·javascript·vue.js
J_liaty27 分钟前
前后端跨域处理全指南:Java后端+Vue前端完整解决方案
java·前端·vue.js·spring boot·后端
小二·31 分钟前
Python Web 开发进阶实战:国际化(i18n)与多语言支持 —— Vue I18n + Flask-Babel 全栈解决方案
前端·vue.js·python