Open weijiyang opened 4 years ago
还有一种情况,是直接合成。比如利用 CSS3 的transform、opacity、filter这些属性就可以实现合成的效果,也就是大家常说的GPU加速。 GPU加速的原因 在合成的情况下,会直接跳过布局和绘制流程,直接进入非主线程处理的部分,即直接交给合成线程处理。交给它处理有两大好处:
还有一种情况,是直接合成。比如利用 CSS3 的transform、opacity、filter这些属性就可以实现合成的效果,也就是大家常说的GPU加速。
在合成的情况下,会直接跳过布局和绘制流程,直接进入非主线程处理的部分,即直接交给合成线程处理。交给它处理有两大好处:
能够充分发挥GPU的优势。合成线程生成位图的过程中会调用线程池,并在其中使用GPU进行加速生成,而GPU 是擅长处理位图数据的。
没有占用主线程的资源,即使主线程卡住了,效果依然能够流畅地展示。
作者:神三元 链接:https://juejin.im/post/5df5bcea6fb9a016091def69 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
当然,任何美好的东西都是会有对应的代价的,过犹不及。css3硬件加速还是有坑的:
合成
能够充分发挥GPU的优势。合成线程生成位图的过程中会调用线程池,并在其中使用GPU进行加速生成,而GPU 是擅长处理位图数据的。
没有占用主线程的资源,即使主线程卡住了,效果依然能够流畅地展示。
作者:神三元 链接:https://juejin.im/post/5df5bcea6fb9a016091def69 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。