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

【Vue】为什么 Vue 不使用 React 的分片更新?

第一,首先时间分片是为了解决 CPU 进行大量计算的问题,因为 React 本身架构的问题,在默认的情况下更新会进行很多的计算,就算使用 React 提供的性能优化 API,进行设置,也会因为开发者本身的问题,依然可能存在过多计算的问题。

第二,而 Vue 通过响应式依赖跟踪,在默认的情况下可以做到只进行组件树级别的更新计算,而默认下 React 是做不到的。再者 Vue 是通过 template 进行编译的,可以在编译的时候进行非常好的性能优化,比如对静态节点进行静态节点提升的优化处理,而通过 JSX 进行编译的 React 是做不到的。

第三,React 为了解决更新的时候进行过多计算的问题引入了时间分片,但同时又带来了额外的计算开销,就是任务协调的计算,虽然 React 也使用最小堆等的算法进行优化,但相对 Vue 还是多了额外的性能开销,因为 Vue 没有时间分片,所以没有这方面的性能担忧。(时间分片本身就是性能开销。

第四,根据研究表明,人类的肉眼对 100 毫秒以内的时间并不敏感,所以时间分片只对于处理超过 100 毫秒以上的计算才有很好的收益,而 Vue 的更新计算是很少出现 100 毫秒以上的计算的,所以 Vue 引入时间分片的收益并不划算。

相关文章:

  • 如何提升网页加载和跳转速度:Flask 模板渲染 vs Nginx 静态资源处理
  • 第二百五十五节 JPA教程 - JPA 多对多连接表示例
  • Springboot + netty + rabbitmq + myBatis
  • C++冷门知识点1
  • jeesite集成redis,redis工具类
  • Iptables,ufw,firewalld的关系与区别
  • 鸿蒙界面开发(九):列表布局 (List)
  • XSS | DOM 型 XSS 攻击
  • 828华为云征文|Flexus云服务器X实例实践:部署2048网页小游戏
  • 基于单片机的小车行走加温湿度检测系统
  • 尚硅谷----智尚代驾项目----Day7(续)------预估乘客订单数据之Drools
  • 第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)
  • ROS与无人驾驶学习笔记(一)——ROS基本操作
  • KRTS虚拟网络适配器和 Windows 连接
  • 相机、镜头参数详解以及相关计算公式
  • $translatePartialLoader加载失败及解决方式
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【刷算法】从上往下打印二叉树
  • android 一些 utils
  • CentOS 7 修改主机名
  • ES6 学习笔记(一)let,const和解构赋值
  • JavaScript类型识别
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • MySQL主从复制读写分离及奇怪的问题
  • vue-cli在webpack的配置文件探究
  • 对超线程几个不同角度的解释
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 怎么把视频里的音乐提取出来
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • Mac 上flink的安装与启动
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ## 基础知识
  • #{} 和 ${}区别
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $L^p$ 调和函数恒为零
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2)leetcode 234.回文链表 141.环形链表
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)Java算法:二分查找
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (自用)交互协议设计——protobuf序列化
  • *p++,*(p++),*++p,(*p)++区别?
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET Framework .NET Core与 .NET 的区别
  • .NET6 命令行启动及发布单个Exe文件
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET开发人员必知的八个网站