夏天的早晨昏昏沉沉,刚写了一个个人理解的防抖节流,也自己手写一下。
然后就是重绘回流。
有关很基础的性能。
为什么要再看一遍
作为前端
这种基础,
怎么能不掌握呢
而且主要也是自己提高自己(面试问,至少自己理解或者说的好占一个吧)
然后就是自己的的理解,不喜勿喷,有错误请指点,十分感谢

重绘回流
说白了就是渲染dom和css,我是这样理解的

重绘(Painting)

看这俩个字就像css,画画,上色。那什么时候重绘,color,background,只是外观发生变化,但是尺寸大小没变,就不会影响自己的的布局(layout),那就会重绘

回流

看了重绘就肯定知道回流就是布局(layout发生变化了),怎么发生变化,肯定就是尺寸大小变啦。dom增加删除啦,padding变啦,margin变啦,border变啦,等等,变则动,动则回流,哦弥陀佛。
那除了这种直观的还有什么呢?
读写 offset 家族、scroll 家族和 client 家族属性的时候,浏览器为了获取这些值,需要进行回流操作。

那重绘回流会影响性能怎么避免?

你能怎么避免,什么避免dom直接修改样式呀

//这种代码就少些一些
let dom1 = document.getElementsByName('haha')
dom1.style.color = 'red'
dom1.style.marign = '1px'
dom1.style.boxshadow= '1px 1px 2px #ccc'
//直接加类名
dom1.classList.add('boom')
.boom{color:'red',heignt:'20px'
}

类似这种,其他的这里不不在多赘述(其实是举不出来栗子)

ok , 其实比如react的虚拟dom,diff算法,就是为了避免重绘回流,提高性能,其实自己的项目里自己优化重绘回流还是比较少的,但是自己确实也得了解重绘回流的概念,一级它的对性能的影响,以及我们在现在的开发中用的的优化重绘和回流的方法。周五了,下了班改上号了。

重绘回流个人理解版本相关推荐

  1. 解剖课-回流与重绘篇

    浏览器的渲染过程 一. 首先我们要知道什么是HTML? HTML:是文本也是一个字符串,它很多的根标签比如:html,head,body,都是手写的字符串些字符串最后都会转换为DOM树 二.DOM树如 ...

  2. 浏览器:重绘(repaint)与回流/重排(reflow)

    一.从上面这个图上,我们可以看到,浏览器渲染过程如下: 1.解析HTML,生成DOM树,解析CSS,生成CSSOM树 2.将DOM树和CSSOM树结合,生成渲染树(Render Tree) 3.Lay ...

  3. 提高网站的性能----回流与重绘

    2019独角兽企业重金招聘Python工程师标准>>> 以前在写网页的时候很少关注到网站的性能,时间进入今天,一个网站不在是单纯几张图片或者几段文字,组成一个网站,今天的用户更加注重 ...

  4. 【转】高性能WEB开发系列之重绘与回流

    原文转载:http://www.cnblogs.com/wangzhichao/archive/2011/05/16/2047633.html 页面呈现流程 在讨论页面重绘.回流之前.需要对页面的呈现 ...

  5. 读书笔记 --- 再次阅读回流与重绘

    参考 - 强烈推荐看看,这个作者写了很多特别好的文章. 浏览器渲染过程 解析HTML,生成DOM树; 解析CSS生成CSSOM树 将DOM树和CSSOM树合并,生成渲染(Render)树 Layout ...

  6. dev 中 gridcontrol1 滚动条重绘_浏览器的重绘和回流(Repaint amp; Reflow)

    参考文献: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-tree ...

  7. 回流和重绘的介绍以及优化方法

    文章目录 一.浏览器的渲染机制 1.生成渲染树的过程 二.回流和重绘 1.回流(reflow) 2.重绘(repaint) 3.何时发生回流.重绘 三.减少回流和重绘 1.浏览器的优化机制 2.使用浏 ...

  8. CSS什么情况引起回流,css的回流和重绘

    1.当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建.这就称为回流(其实我觉得叫重新布局更简单明了些).每个页面至少需要一次回流,就是在页面第一次加载的时 ...

  9. Stable Diffusion系列课程上:安装、提示词入门、常用模型(checkpoint、embedding、LORA)、放大算法、局部重绘、常用插件

    文章目录 一.Stable Diffusion简介与安装 二.文生图(提示词解析) 2.1 提示词入门 2.2 权重 2.3 负面提示词( Negative prompt) 2.4 出图参数设置 2. ...

  10. 自定义字体样式引入使用方法、文本阴影、边框阴影、(边框)圆角、渐变、理解重绘与回流、渐进增强和优雅降级的区别

    目录 1.文本阴影 text-shadow 2.边框阴影 box-shadow 3.自定义字体样式方法 引入与使用方法举例: 4.(边框)圆角 5.渐变 6.过渡  transition 7.理论知识 ...

最新文章

  1. 【博士论文】视觉语言交互中的视觉推理研究
  2. matlab GUI gca gco gcf
  3. Java多线程:线程属性
  4. R中千分位分隔符数值(美式数值)读取
  5. SAP UI5 /UI5/IF_UI5_REP_PERSISTENCE - why I cannot deploy app to GM6
  6. html标签object和embed,html标签object和embed的区别
  7. 去中心化云存储聚合器ColdStack S3 API开启私人Beta版测试
  8. Linux编程(8)_文件IO
  9. 微信开发者工具历史版本下载
  10. 俄罗斯方块 java_java 俄罗斯方块
  11. Charles使用手册
  12. 简述神经网络的优点和缺点,人工神经网络优缺点
  13. 01单片机——基础知识
  14. 磁盘压缩卷只能压缩一半
  15. nrf52832 Uart 调试
  16. 法国计算机高等工程师学院排名,法国人工智能专业大学排名(2020年USNEWS)_快飞留学...
  17. 业务不间断重启-gr与nsr
  18. 谷歌云端硬盘下载文件_如何使用Google云端硬盘中的Microsoft Office文件
  19. 报错:ERROR yaml.scanner.ScannerError: while scanning a quoted sca 如何解决
  20. 全开源/三网免挂码支付系统/支付宝免输入金额/支付宝H5微信QQ免签/二维码收款免签支付

热门文章

  1. VSCode 菜单栏不见了,该怎么办
  2. 《数据结构》陈越老师课后题详解
  3. Modern C++ JSON nlohmann::json 使用详解
  4. sql 的 desc和asc用法
  5. win10+deepin安装 linux修改系统启动项
  6. WebStorm+Chrome插件JetBrains IDE Support进行实时调试
  7. 图像加密--chua's chaos and baker's transformation
  8. 一年中最后一个月的最后一天说说_2020年最后一个月的朋友圈说说句子
  9. 【渝粤题库】陕西师范大学201931 唐诗研究 作业
  10. rdlc和rdl的区别