当前位置: 首页 > ds >正文

requestAnimationFrame 深度理解

requestAnimationFrame 深度学习(请求动画帧)

定义

  • requestAnimationFrame 是一个浏览器提供的用于在下次重绘之前调用指定的回调函数的方法。它主要用于创建流畅的动画效果,通过与浏览器的刷新率同步来优化性能和效率。
  • 执行时机 是每一帧浏览器进行渲染之前,是一个高优的任务。
  • 同步执行:requestAnimationFrame 会告诉浏览器你希望执行一次重绘,并要求浏览器在下一次重绘之前调用指定的回调函数。这样可以确保你的动画帧与浏览器的刷新频率同步。
  • 节省资源:当页面被最小化或不可见时(比如切换到其他标签页),浏览器会自动降低 requestAnimationFrame 的调用频率,甚至是暂停,这有助于节省系统资源。
  • 参数:该方法接受一个回调函数作为参数,这个回调函数会在浏览器准备重绘画面时被调用。回调函数会被传入一个参数,表示回调被执行的时间点的时间戳(高精度时间),单位是毫秒,但与 Date.now() 返回的时间戳不同,它是相对于页面加载开始的时间。
  • 取消 cancelAnimationFrame(xx)

实战

React fiber
  1. fiber 是把整个任务 分成若干个很多个小任务,每次执行一个任务。执行完成后会看看有没有剩余时间,如果有,继续执行下一个任务。如果没有放弃执行,交给浏览器调度。
问询模式
  1. 使用问询模式 解决 setInterval 时间不准确的问题
  2. 递归调用
http://www.xdnf.cn/news/31.html

相关文章:

  • AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析
  • 【OSCP-vulnhub】GoldenEye
  • 【秣厉科技】LabVIEW工具包——OpenCV 教程(20):拾遗 - imgproc 基础操作(下)
  • Linux 防火墙( iptables )
  • 大数据调度组件
  • 10.(vue3.x+vite)div实现tooltip功能(css实现)
  • 华为仓颉编程语言深度解析
  • InfiniBand与RoCEv2负载均衡机制的技术梳理与优化实践
  • 服务(service)管理
  • 探寻Gson解析遇到不存在键值时引发的Kotlin的空指针异常的原因
  • 2025第十七届“华中杯”大学生数学建模挑战赛题目B 题 校园共享单车的调度与维护问题完整思路 模型 代码 结果分享
  • 从零开始 保姆级教程 Ubuntu20.04系统安装MySQL8、服务器配置MySQL主从复制、本地navicat远程连接服务器数据库
  • HTML:表格数据展示区
  • 《理解 Java 泛型中的通配符:extends 与 super 的使用场景》
  • 趣味编程之分布式系统:负载均衡的“雨露均沾“艺术
  • Python数据可视化
  • 1.Axum 与 Tokio:异步编程的完美结合
  • ubuntu docker 创建镜像 报错 dial tcp xxxx read udp xxxx i/o timeout 还有 Forbidden
  • gRPC 介绍及在嵌入式 Linux 下的成功编译及使用详解
  • 网络规划设计之广域网结构设计,6种架构模式对比
  • 观察者模式:从博客订阅到消息队列的解耦实践
  • 01、单片机简介
  • TAS(Thin-Agent服务)的先决条件与安装指南
  • HttpSessionListener 的用法笔记250417
  • 解读《人工智能指数报告 2025》:洞察 AI 发展新态势
  • 闭坑-- `a-auto-complete` 组件中的 `options` 数据存在重复
  • nginx-基础知识
  • HCIP(OSPF )(2)
  • 内存编码手册:整数与浮点数的二进制世界
  • 音视频相关协议和技术内容