GPU硬件加速概述: GPU(Graphic Processing Unit),GPU是相对于CPU的概念,由于现代计算机中需要做的图形处理越来越多,需要一个专门负责图形的核心处理器。
浏览器加速
浏览器中用CSS开启硬件加速,就将特征元素的3D变换、动画元素渲染工作从缓慢的浏览器软件渲染引擎转交给GPU。浏览器接收到页面文档后,会将文档中的标记语言解析为DOM树。DOM树和CSS结合后形成浏览器构建页面的渲染树。渲染树中包含了大量的渲染元素,每一个渲染元素会被分到一个图层中,每个图层又会被加载到GPU形成渲染纹理,而图层在GPU中transform
是不会触发 repaint 的,这一点非常类似3D绘图功能,最终这些使用 transform
的图层都会由独立的合成器进程进行处理。3D 和 2D transform 的区别就在于,浏览器在页面渲染前为3D动画创建独立的复合图层,而在运行期间为2D动画创建。动画开始时,生成新的复合图层并加载为GPU的纹理用于初始化 repaint。然后由GPU的复合器操纵整个动画的执行。最后当动画结束时,再次执行 repaint 操作删除复合图层。
多媒体播放加速