划重点 —— requestAnimationFrame

基本定义

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

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

requestAnimationFrame() 的执行是一次性的

用途

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

优缺点

优点

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

缺点

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

相关知识点

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

相关推荐
哎呦你好2 分钟前
【CSS】Grid 布局基础知识及实例展示
开发语言·前端·css·css3
盛夏绽放11 分钟前
接口验证机制在Token认证中的关键作用与优化实践
前端·node.js·有问必答
zhangxingchao28 分钟前
Jetpack Compose 之 Modifier(中)
前端
JarvanMo28 分钟前
理解 Flutter 中 GoRouter 的context.push与context.go
前端
pe7er33 分钟前
使用 Vue 官方脚手架创建项目时遇到 Node 18 报错问题的排查与解决
前端·javascript·vue.js
星始流年37 分钟前
前端视角下认识AI Agent
前端·agent·ai编程
pe7er41 分钟前
使用 types / typings 实现全局 TypeScript 类型定义,无需 import/export
前端·javascript·vue.js
CH_Qing41 分钟前
【udev】关于/dev 设备节点的生成 &udev
linux·前端·网络
小诸葛的博客1 小时前
gin如何返回html
前端·html·gin
islandzzzz1 小时前
(第二篇)HMTL+CSS+JS-新手小白循序渐进案例入门
前端·javascript·css·html