立即注册找回密码

激速重机

查看: 117|回复: 0

深入浏览器内部谈性能优化

[复制链接]

2488

主题

2488

帖子

7700

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7700
发表于 2021-2-13 15:23:40 | 显示全部楼层 |阅读模式
1. 浏览器发展历史

a. 1995 年,美国网景公司因“网景浏览器”的发布而快速崛起

b. 同年,微软发布windows95,三级女明星IE

c. 2002年,微软占据了浏览器市场80%的份额

2. 浏览器三大进化路线(Web应用能做的事以及未来发展趋势)

a) 应用程序Web化,如:视频、音频、游戏

b) Web应用移动化,如:谷歌新推出的PWA方案

c) Web操作系统化,如,SOA,WebAssembly

3. 学习浏览器的重要性

a) 准确评估 Web 开拓项目的可行性

i. 技术选型

ii. 方案规划

b) 从更高维度审视项目

i. 用户体验

ii. 整体武汉狼友感

c) 在快节奏的技术迭代中把握本质

i. 脚本执行速度

ii. 前端模块化开拓

4. 进程与线程

a) 概念

i. 线程:用来处理程序任务,大话骰单独存在

ii. 进程:戚薇私房照一个程序运行的实例。启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫进程。

iii. 线程图解如下:

iv.

深入浏览器内部谈性能优化-1.jpg

v. 线程是依附于进程的,而进程中使用多线程并行处理能提升运算效率

b) 进程与线程的四大特点

i. 进程中的任意一线程执行出错,都会导致整个进程的崩溃。

ii. 线程之间共享进程中的数据

1. 如图:线程之间可以对进程的公共数据进行读写操作

2.

深入浏览器内部谈性能优化-2.jpg

iii. 当一个进程关闭之后,操作系统会回收进程所占用的内存

iv. 进程之间的内容体育即时比分隔离

5. 渲染流程:HTML+CSS+JS是如何渲染成页面的?

a)

深入浏览器内部谈性能优化-3.jpg

从上图可以看出,左边的HTML、CSS、JS经过中间渲染模块的处理,变成了用户在屏幕上看到的元素

b)

深入浏览器内部谈性能优化-4.jpg

由于渲染机制过于复杂,所以渲染模块在执行过程中会被划分为很多子阶段,输入的 HTML 经过这些子阶段,最后输出像素。我们把这样的一个处理流程叫做渲染流水线。如图:

深入浏览器内部谈性能优化-5.jpg

c) 按照渲染的时间色子游戏,流水线可分为如下几个子阶段:构建 DOM 树、样式计算、布局阶段、分层、绘制、分块、光栅化和合成

i. 构建dom树

1. 原因:浏览器无法直接理解和使用 HTML,所以需要将 HTML 转换为浏览器能够理解的结构DOM 树

2. 树结构:

a)

深入浏览器内部谈性能优化-6.jpg

b) 构建过程:

c)

深入浏览器内部谈性能优化-7.jpg

ii. 样式计算

1. 将CSS转化成浏览器能够理解的结构

a) CSS来源,如图所示

b)

深入浏览器内部谈性能优化-8.jpg

2. 转换样式表中的属性值,使其标准化

a)

深入浏览器内部谈性能优化-9.jpg

3. 计算出 DOM 树中每个节点的具体样式

a)

深入浏览器内部谈性能优化-10.jpg

iii. 布局阶段

1. 创建布局树

a) 构造过程:

b)

深入浏览器内部谈性能优化-11.jpg

想学习前端的萌女孩,我这里还有一些学习资料和视频,免费分享给你。

深入浏览器内部谈性能优化-12.jpg

成果不易,资料以及视频教程领取方法:

1.请先评论、关注、转发

2.然后私信我:前端资料

私信在哪?点我的头像,在我的主页就可以看到!

本文来源:WEB明教光明顶(https://web.xingruanedu.com/)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表