前端性能优化实践之关键渲染路径(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 时间调度的实现  ?

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



相关文章
|
12天前
|
缓存 前端开发 JavaScript
利用代码分割优化前端性能:策略与实践
在现代Web开发中,代码分割是提升页面加载性能的有效手段。本文介绍代码分割的概念、重要性及其实现策略,包括动态导入、路由分割等方法,并探讨在React、Vue、Angular等前端框架中的具体应用。
|
5天前
|
搜索推荐 前端开发 定位技术
前端开发人员SEO优化技术方案
不同的搜索引擎提供了服务后台常见功能来优化网站搜索
|
8天前
|
编解码 前端开发 开发者
前端开发中的响应式设计实践
前端开发中的响应式设计实践
|
17天前
|
编解码 前端开发 JavaScript
从入门到精通:揭秘前端开发中那些不为人知的优化秘籍!
前端开发是充满无限可能的领域,从初学者到资深专家,每个人都追求更快、更稳定、更用户体验友好的网页。本文介绍了四大优化秘籍:1. HTML的精简与语义化;2. CSS的优雅与高效;3. JavaScript的精简与异步加载;4. 图片与资源的优化。通过这些方法,可以显著提升网页性能和用户体验。
19 3
|
22天前
|
编解码 前端开发 UED
探索无界:前端开发中的响应式设计深度解析与实践####
【10月更文挑战第29天】 本文深入探讨了响应式设计的核心理念,即通过灵活的布局、媒体查询及弹性图片等技术手段,使网站能够在不同设备上提供一致且优质的用户体验。不同于传统摘要概述,本文将以一次具体项目实践为引,逐步剖析响应式设计的关键技术点,分享实战经验与避坑指南,旨在为前端开发者提供一套实用的响应式设计方法论。 ####
42 4
|
26天前
|
缓存 前端开发 JavaScript
前端性能优化:Webpack与Babel的进阶配置与优化策略
【10月更文挑战第28天】在现代Web开发中,Webpack和Babel是不可或缺的工具,分别负责模块打包和ES6+代码转换。本文探讨了它们的进阶配置与优化策略,包括Webpack的代码压缩、缓存优化和代码分割,以及Babel的按需引入polyfill和目标浏览器设置。通过这些优化,可以显著提升应用的加载速度和运行效率,从而改善用户体验。
41 6
|
15天前
|
缓存 前端开发 JavaScript
前端性能优化:让你的网站更快、更流畅
前端性能优化:让你的网站更快、更流畅
19 0
|
19天前
|
编解码 前端开发 UED
前端开发中的响应式设计实践
前端开发中的响应式设计实践
31 0
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
146 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
44 0

热门文章

最新文章