前端性能优化实践之关键渲染路径(2)

简介: 前端性能优化实践之关键渲染路径(2)

1、浏览器渲染原理和关键渲染路径篇

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

2、关键点之 布局(layout)和绘制(paint)

网络异常,图片无法展示
|

1、 回流

网络异常,图片无法展示
|

  • 举个例子 说明 这个事情

网络异常,图片无法展示
|

当我 手动更改 dom width 时

网络异常,图片无法展示
|

  • 再跑一遍 performance

网络异常,图片无法展示
|

  • 防止布局抖动
  • 再来一个 比较极端点的例子 变化所有图片的 大小

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 避免回流  不要做导致回流的操作,使用 translate 做位置变化 只会复合 , react 虚拟dom 将多个变更 合并
  • 读写分离

3、使用 FastDom 防止布局抖动

网络异常,图片无法展示
|

1、在 github 上找到 fastDom  https://github.com/wilsonpage/fastdom
2、查看使用 文档  读取操作使用 measure     写操作使用 mutate
3、安装 改写现在的代码 
4、查看运行效果 
复制代码
  • 改写

网络异常,图片无法展示
|

  • 暂时 报错 fastdom 找不到 暂时 忽略

4、 复合线程和图层  

网络异常,图片无法展示
|

  • 不会回流 重绘制  放在单独图层 只是触发复合

网络异常,图片无法展示
|

  • 如何查看 页面的图层 ?

直接 shift + command + p 调出搜索 然后 输入 layers 就可发现当前有 2 层

网络异常,图片无法展示
|

  • 值得注意的一点 使用 performence 时,

网络异常,图片无法展示
|

  • 应该是 顺着浏览器 可优化的 方向努力, 看现有的 API 使用和优化

5、如何减少 重绘  ?

  • 使用 transform  opacity 的例子

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 页面没有 发生 持续 回流 重绘制 行为

网络异常,图片无法展示
|

  • 当我不使用 transform 而直接更改 width 时

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 还有个方式 看页面有没有重新布局

搜 rendering

网络异常,图片无法展示
|

  • 解决方案 总结

网络异常,图片无法展示
|

网络异常,图片无法展示
|

6、防抖 事件  ?

网络异常,图片无法展示
|

  • 首先写一个 反面例子 说明这个 情况

网络异常,图片无法展示
|

  • 发现只要我 鼠标移动 就会触发这个函数 执行, 并且页面的动画效果 非常的不流畅
  • 然后 怎么解决这个问题
1、使用 requestAnimationFrame
  2、使用 一个变量控制 debounce 去除抖动 
复制代码
  • 通过 变量 控制 如果是在 执行 requestAnimationFrame 则直接 return 在 这个时间点 只执行这个 , 否则 执行一个 requestAnimationFrame, 目的是 函数执行需要放在一帧内,也就是说需要放在 16.6ms 内 , 否则没有意义

网络异常,图片无法展示
|

  • 此处应该扩展函数 防抖和节流 写法,暂且不写 后续补上吧

7、React 时间调度的实现  ?

网络异常,图片无法展示
|



相关文章
|
4天前
|
前端开发 UED 开发者
现代前端开发中的响应式设计原理与实践
本文探讨了现代前端开发中响应式设计的重要性及其实现原理。通过分析媒体查询、弹性网格布局以及视口单位等技术手段,揭示了如何通过这些工具实现页面在不同设备上的优雅适配。最后,结合实际案例展示了响应式设计在提升用户体验和网站性能方面的应用。
|
3天前
|
缓存 前端开发 UED
前端优化:首屏加载速度的实践
随着互联网技术的飞速发展,前端网页逐渐取代了传统客户端成为用户获取信息、进行交互的重要渠道,但是网页也有常见的弊端,比如网页首屏加载速度的快慢直接影响着用户体验,那么如何提升网页的首屏加载速度,成为了前端开发者必须面对的问题。本文将从多图片懒加载、避免用户多次点击请求以及骨架屏原理等方面,简单分享一下前端优化首屏加载速度的策略优化。欢迎大家在评论区留言交流。
16 2
前端优化:首屏加载速度的实践
|
4天前
|
Web App开发 缓存 前端开发
前端性能优化技巧与工具
【6月更文挑战第30天】前端性能优化旨在提升Web应用速度和响应性,关乎用户体验、转化率及SEO。关键技巧包括减少HTTP请求、压缩资源、利用缓存、异步加载和优化DOM操作。工具如Lighthouse、PageSpeed Insights、Webpack Bundle Analyzer及Chrome DevTools提供性能分析和优化建议。优化是持续的过程,适应复杂Web需求。
|
6天前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用问题之流水线构建前端项目比较慢。该如何优化
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
8天前
|
前端开发 JavaScript 数据管理
引领潮流:React框架在前端开发中的革新与实践
React,始于2013年,由Facebook驱动,以其组件化、Virtual DOM、单向数据流和Hooks改革前端。组件化拆分UI,提升代码复用;Virtual DOM优化渲染性能;Hooks简化无类组件的状态管理。庞大的生态系统,包括Redux、React Router等库,支持各种需求。例如,`useState` Hook在计数器应用中实现状态更新,展示React的实用性。React现已成为现代Web开发的首选框架。【6月更文挑战第24天】
36 2
|
2天前
|
JavaScript 前端开发
前端 JS 经典:Vite 打包优化
前端 JS 经典:Vite 打包优化
8 0
|
4天前
|
前端开发 JavaScript Java
高效前端开发技巧:如何优化JavaScript代码执行效率
在当今互联网应用日益复杂的背景下,前端开发者面临着更高的性能要求。本文探讨了一些提升JavaScript代码执行效率的实用技巧,包括优化循环结构、减少内存占用以及利用现代浏览器的优化能力。通过这些方法,开发者可以在保持代码清晰易读的前提下,显著提升应用程序的响应速度和用户体验。
|
10天前
|
缓存 监控 前端开发
前端性能优化:从系统分析到实践策略
**前端性能优化概述** 本文探讨了前端性能优化的重要性,强调了从整体角度而非仅关注局部优化手段的必要性。作者指出,建立性能评价系统是关键,通过**性能指标**(如FP、FCP、LCP、CLS等)来量化页面性能,然后使用**性能监控**工具收集数据。文章列举了9个关键性能指标,并介绍了如何通过SDK或工具进行数据收集。 在实际操作中,文章提到了**性能优化方法论**,包括了解何时何地出现性能问题,以及如何根据性能指标采取相应优化措施。作者推荐使用Chrome的Lighthouse工具进行性能测试,并讨论了**CDN**、**缓存策略**和**懒加载**作为常见的优化手段。
39 0
|
6天前
|
前端开发 JavaScript 数据库
如何实现前后端分离-----前端笔记
如何实现前后端分离-----前端笔记
|
7天前
|
前端开发 安全 NoSQL
技术笔记:Security前端页面配置
技术笔记:Security前端页面配置