浏览器的渲染流程

浏览器的渲染流程

应该都非常熟悉,大概过程是
通过浏览器的渲染引擎来对html css js 代码解析处理,然后渲染显示用户可以在屏幕上看到的页面。
并且这个期间渲染引擎需要通过一些api 对dom 进行一些增删改等操作。
拿到html文档以后渲染引擎就开始对文档从上倒下执行顺序解析。
首先就是
1.对html进行解析成dom树,是一种树状结构
2.在对css 进行解析成cssom树
3.然后两者结合成一棵渲染树
4.然后对dom进行布局计算,精确找到元素节点在屏幕上的具体的位置和大小样式
这个期间就涉及到了css的一些概念操作,比如盒模型、浮动元素、文本流、BFC等。
5.然后就是进行绘制,
绘制就是对渲染对象进行绘制,绘制到屏幕上,
绘制的过程中是将渲染对象转换成像素的过程。
6.最后就是合成。

浏览器暴露dom的api 给到开发者,开发者就可以用这些api 对dom 进行操作。
而浏览器扮演的角色可想而知就是在用户和屏幕可以看到的网页之间的桥梁接口。

性能相关

那这么繁琐复杂的渲染过程当中肯定有很多大量的计算和步骤,
常见的优化手段就是 减少重排和减少重绘。
这两个都是上面渲染时的两个重要的步骤。
减少两个步骤可以轻步骤的复杂程度。
重排就是减少对布局的设定,比如少去对元素的尺寸、浏览器的尺寸、元素的添加和删除进行操作。就可以不触发这个重新排列布局的过程。
重绘就是对元素恶的外观进行改变后的触发。比图改变元素的背景颜色、字体的颜色等。

重绘不一定会触发重排 但是重排一定会触发重绘。
因为布局的变化需要重新绘制元素才能反应新的布局。
但是颜色等外观的变化 一般不会触发排列布局的变化。

框架相关

还有就是框架有点脱离浏览器渲染过程来进行抽象层的处理,因为都不会直接操作dom。
所以react vue都采用虚拟dom 和diff算法等技术,使得不会直接去操作dom ,能更高效的更新页面。在渲染过程中使用抽象层去管理dom.

但是这些框架也不是完全脱离渲染流程,因为最终他们都是要将这个变化应用到真实的dom 上。减少了直接操作dom 的次数提高了性能优化和响应速度。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 228,835评论 6 534
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,676评论 3 419
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 176,730评论 0 380
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,118评论 1 314
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,873评论 6 410
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,266评论 1 324
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,330评论 3 443
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,482评论 0 289
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,036评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,846评论 3 356
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,025评论 1 371
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,575评论 5 362
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,279评论 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,684评论 0 26
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,953评论 1 289
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,751评论 3 394
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,016评论 2 375

推荐阅读更多精彩内容