WebKit是否使用OpenGL渲染CSS转换?

WebKit是否使用OpenGL渲染CSS转换?,opengl,css,webkit,css-transitions,Opengl,Css,Webkit,Css Transitions,WebKit是使用OpenGL渲染CSS转换,还是使用软件渲染?据我所知,使用转换的唯一硬件加速属性是translate3dtransform 例如: 如果只使用translate转换或设置任何其他属性的动画,则不会对其进行硬件加速。WebKit只是一个前端。这取决于后端和硬件支持。GoogleChrome用作后端,它可以使用软件或硬件。因此,答案是它取决于后端的实现及其运行的硬件。我应该注意,对于Safari/Mobile Safari来说,这是正确的,其他一些实现可能根本没有硬件加速,或者对

WebKit是使用OpenGL渲染CSS转换,还是使用软件渲染?

据我所知,使用转换的唯一硬件加速属性是
translate3d
transform

例如:


如果只使用
translate
转换或设置任何其他属性的动画,则不会对其进行硬件加速。

WebKit只是一个前端。这取决于后端和硬件支持。GoogleChrome用作后端,它可以使用软件或硬件。因此,答案是它取决于后端的实现及其运行的硬件。

我应该注意,对于Safari/Mobile Safari来说,这是正确的,其他一些实现可能根本没有硬件加速,或者对它有更好的支持。所有转换都是硬件加速的(使用OpenGL)在Safari中,不考虑属性/转换。在某些情况下,由于初始闪烁和不同的字体呈现,您可以看到这一点。此外,如果不使用硬件加速,过渡就不会如此顺利,尤其是在移动Safari中。事实上,有证据表明硬件加速只用于
translate3d
,而不用于
translate
,造成这种差异的原因之一是,在Safari中实现translate比translate3d要快得多。有一些网页提到了这两者在性能上的差异:,搜索
translate3d
。我已经对此进行了测试,特别是在iOS上,差异是显而易见的,尽管硬件加速有点问题,需要更多的资源。谢谢Mario。这些链接部分已经过时(第一个提到IOS 3.0),不过毫无疑问我在上面过于简单化了。我认为我们可以放心地假设,在大多数(webkit)平台上,大多数东西都是硬件加速的,并且一直在变得更好。
// Normal
div{
    -webkit-transition: all 0.5s ease-out;
}

// Adding class to animate
div.transformed{
    -webkit-transform: translate3d(100px, 100px, 0);
}