程序员

网页渲染流程简述

2018-04-03  本文已影响35人  神秘者007

1.网页的渲染过程 webkit渲染html+css
1-1.获取dom分割层
1-2.计算样式
1-3.重排 放置dom的位置 layout
1-4.节点填充 重绘 paint
1-5.网页GPU纹理图片展现到页面(元素偏移、缩放)
1-6.网页合成层 生成屏幕最终图像

2.网页就像摆积木一样 一旦积木位置发生变化 就是重排 颜色变化就是重绘

3.合成层这个阶段GPU参与

4.根元素 position transform 半透明 canvas css的滤镜 GPU CSS3D webGL transform 硬件加速
5.圆角 阴影 颜色等等这些外观一定会造成重绘

6.元素尺寸变了 元素位置变了 内容变了引起盒子变化都会造成重排 页面初始化正准备执行优化后的队列的时候-》突然改变了某个元素例如width变化了, 优化后缓存的队列都作废
const width = $(window).width();
优化代码
requestAnimationFrame(function(){
$('#test').width(....)
})
专门做读写分离的库
https://github.com/wilsonpage/fasdom
7.不要以为单独的层是万能的

8.GPU vs CPU
相同:两者都有总线和外界联系,有自己的缓存体系,以及运算单元,两者都为了完成计算而生。
不相同:CPU主要负责的操作系统和应用程序 GPU显示相关和数据处理

上一篇下一篇

猜你喜欢

热点阅读