影响页面渲染速度的因素
- 带宽网速
- DNS服务器的响应速度
- 服务器的处理能力
- 数据库性能
- 路由转发
- 浏览器处理能力
像素渲染流水线
- 下载HTML文档
- 解析HTML文档 生成DOM
- 下载文档中引用的CSS和JS
- 解析CSS样式表 生成CSSDOM
- 将js代码交给JS引擎执行
- 合并DOM和CSSDOM,生成Render Tree
- 根据RenderTree进行布局
- 绘制
- 执行图层合并
DOM文档加载的步骤
- 解析HTML结构
- 加载外部脚本和样式表文件
- 解析并执行脚本
- DOM树构建完成//DOMContentLoaded
- 加载图片等外部文件
- 页面加载完成//load
浏览器常驻线程
- GUI渲染线程
- JS运行线程
- 事件驱动线程