Open LiuL0703 opened 5 years ago
浏览器渲染过程是先解析HTML文件 构建DOM树,创建一个或多个图层独立的绘制,将图作为纹理上传至GPU,复合多个图层来完成最终的图像,所以每个层的样式出现调整后,要重新计算样式,重新布局,使用top-left-margin这种方法只会创建一个图层,而使用translate则容器中的元素不会和自身放在一个图层,而是放在GPU单独的渲染层中,这样带来的好处有三点
额外的渲染层导致更多的线程间通信
使用top-left-margin 方法 居中 和使用transform的translate方法居中的性能差异
浏览器渲染过程是先解析HTML文件 构建DOM树,创建一个或多个图层独立的绘制,将图作为纹理上传至GPU,复合多个图层来完成最终的图像,所以每个层的样式出现调整后,要重新计算样式,重新布局,使用top-left-margin这种方法只会创建一个图层,而使用translate则容器中的元素不会和自身放在一个图层,而是放在GPU单独的渲染层中,这样带来的好处有三点
缺点
额外的渲染层导致更多的线程间通信