揭开浏览器底层的秘密:为什么一个 Chrome 能跑这么快又这么稳?

揭开浏览器底层的秘密:为什么一个 Chrome 能跑这么快又这么稳?

🧠 揭开浏览器底层的秘密:为什么一个 Chrome 能跑这么快又这么稳?

当你每天打开 Chrome 浏览器上网时,也许没有想过:

一个看似简单的浏览器窗口背后,其实是一个堪比操作系统的小型软件帝国。

它就像一座高度自动化的工厂------

多个车间(进程)、每个车间内部又有流水线(线程),

互不干扰又紧密协作。

🚪 一、打开 Chrome 的那一刻,到底发生了什么?

当你双击 Chrome 图标,就相当于启动了一家"浏览器工厂"。

此时会创建一个唯一的主进程(Browser Process)

我们打开任务管理器,此时发现为什么有那么多chrome,"我不是只打开了一个吗"

事实上,这些不同的chrome.exe代表着Chrome浏览器的不同进程 ,他们的PID 也不一样

主进程负责:

控制整座"工厂"

打开/关闭标签页

管理其他进程(渲染、网络、GPU...)

负责外壳界面(地址栏、书签栏)

并且会陆续派生出多个"部门"(子进程):

🌐 网络进程

🎨 渲染进程

🖥 GPU 进程

📦 存储进程

🔌 插件进程

Chrome正是采用了这种多进程架构使得它跑的又快又稳

🏭 二、为什么 Chrome 要采用 "多进程架构"?

对比一下过去的 IE,"单进程浏览器"是什么体验?

所有工作都堆到一个进程里:

页面渲染

JavaScript 执行

网络请求

插件加载

UI 显示

结果就是:

一个页面卡死,全浏览器陪葬。

这就像所有机器在一间屋子里,某个机台坏了,整间工厂停工。

而 Chrome 则是:

每个主要功能分配单独进程,各自独立、互不影响:

例如:

A 页面崩了,不影响 B 页面

插件崩溃,不影响渲染页面

GPU 挂掉,不会导致浏览器关闭

Chrome 采用多进程后,实现了三个关键目标:

好处

解释

更稳定

单个进程崩溃被隔离

更安全

进程沙盒化,网页无法直接操作用户文件

更流畅

大任务可分散到不同 CPU 核心上

🔍 三、Chrome 中到底有哪些进程?

1)浏览器主进程(Browser Process)------大总管

所有标签页、插件、下载器、历史记录管理......

都归他管。

这是 Chrome 的大脑。

2)渲染进程(Renderer Process)------把网页画出来

每一个标签页 默认一个独立渲染进程:

渲染进程包含两个模块:

🔹 Blink 排版引擎

解析 HTML / CSS

计算布局

绘制页面

🔹 V8 JavaScript 引擎

执行页面 JS

执行 DOM 操作

执行事件循环(Event Loop)

渲染进程本质上做一件事:

把代码变成可交互网页。

3)GPU 进程------帮你加速动画、3D、渲染等

Chrome 后来加入 GPU 进程,用显卡来处理:

CSS 动画

WebGL

Canvas 绘制

页面合成

这也是为什么现在网页滚动、动画都非常丝滑。

4)网络进程(Network Service)

负责所有:

DNS

HTTP / HTTPS

下载资源

上传数据

这样:

即使渲染进程卡住,网络依旧正常进行。

5)存储进程(Storage Service)

包括:

Cookies

LocalStorage

IndexedDB

缓存 Cache

独立管理的好处是:

渲染进程即使崩溃了,也不会导致数据丢失。

6)插件进程(Plugin Process)

用于运行:

Flash(已被淘汰)

PDF Viewer

第三方扩展的一些逻辑

插件导致浏览器崩溃的时代已经过去。

🧵 四、进程 vs 线程:它们的分工是什么?

在此之前,我们先引入线程的概念:

线程是进程中可被操作系统调度的最小执行单元

如果说:

进程: 工厂的一个车间(隔离、安全)

线程: 车间里的工人(执行任务)

渲染进程内部有多条线程:

主线程(执行 JS、布局、渲染)

合成线程(绘制图层)

光栅线程(位图生成)

IO 线程(网络、文件等异步任务)

JS 是单线程的,但渲染进程不是。

🔁 五、每一个标签页都是独立进程吗?

当我们只有一个标签页时: 而当我们添加一个新的标签页时:

此时每个标签页的进程是:

这些显示了:

每个标签页是独立进程

每个工具、插件都有独立进程

Network / GPU / Storage 都独立

打开Chrome 任务管理器能很好的清楚地展示内部结构。

🧠 六、单进程 vs 多进程:为什么差距那么大?

🔹单进程浏览器(IE)

所有任务排队执行:

JS 执行阻塞

渲染阻塞

网络阻塞

用户交互阻塞

只要有一个环节卡住,全卡。

🔹多进程浏览器(Chrome)

多个线程、多个进程协同处理:

JS 执行不再阻塞渲染

网络和渲染分离

页面崩溃不会影响整个浏览器

利用多核 CPU 实现真正的并行

浏览器从"单核发动机"变成"多引擎战斗机"。

🎯 七、总结:为什么 Chrome 能这么快、这么稳?

Chrome 的底层本质是一种:

"操作系统级的架构"------网页是应用,渲染进程是沙盒。

得益于:

多进程隔离

多线程并行

GPU 加速

V8 高性能 JS 引擎

Blink 高速渲染引擎

Chrome 才能做到:

稳定

流畅

安全

高性能

这就是为什么你打开一个网页,能看到这么多进程:

Chrome 其实不是浏览器,是一个小型操作系统。

相关推荐

彩信群发平台哪个好?如何选择彩信服务商?
手机bt365

彩信群发平台哪个好?如何选择彩信服务商?

🗓️ 01-08 👁️ 215
打印机有时候一直打印乱码
手机bt365

打印机有时候一直打印乱码

🗓️ 09-14 👁️ 6411
[手持表]哪里可以淘万用表天宇T21L,大家四十多块都是哪里买的
阴阳师结界换肤功能解析及皮肤推荐 结界买哪个皮肤好
365bet亚洲官网网址

阴阳师结界换肤功能解析及皮肤推荐 结界买哪个皮肤好

🗓️ 10-12 👁️ 3105
他们没了世界杯:申思自叹无缘 谢晖脸色大变
365bet亚洲官网网址

他们没了世界杯:申思自叹无缘 谢晖脸色大变

🗓️ 06-30 👁️ 9535
2012年欧洲杯法国(法国队在2012年欧洲杯的表现及成绩)