划重点 —— requestAnimationFrame

基本定义

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

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

requestAnimationFrame() 的执行是一次性的

用途

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

优缺点

优点

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

缺点

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

相关知识点

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

相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao1315 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉5 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro6 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常6 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆6 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶6 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐7 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅7 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏7 小时前
Next.js 13变化有多大?
前端·react·nextjs