CSS3的哪些确切部分是GPU加速的?

时间:2012-08-27 19:06:13

标签: html5 css3 gpu

我一直在阅读几个引用,如“X是GPU加速”和“Y不是GPU加速”,但我找不到完整列表。 CSS3的哪些完全部分是GPU加速的?

2 个答案:

答案 0 :(得分:11)

是的,这是一个有趣的话题,它确实取决于浏览器+显卡。我一直想对此进行一些研究,所以这里有一个简短的总结。

Webkit(Safari,Chrome,iOS,Android)

在Webkit中,AnimationBase.cpp用于指定它,但似乎已经移动了!卫生署!好吧,无论如何,如果你搜索ACCELERATED_COMPOSITING的代码,你就会找到它。

具体来说,如果某些东西与其中一个匹配,那么它可以加速(至少在Chromium中):

  • 图层具有3D或透视变换CSS属性
  • 使用加速视频解码的元素使用图层
  • 图层由具有3D上下文或加速2D上下文的元素使用
  • 图层用于合成插件
  • Layer使用CSS动画作为其不透明度或使用动画webkit转换
  • 图层使用加速CSS过滤器
  • 图层具有作为合成图层的后代
  • 图层有一个较低z-index的兄弟,它有一个合成图层(换句话说,图层在合成图层上呈现)

Source


Gecko(火狐)

在Gecko中,https://wiki.mozilla.org/Platform/GFX/HardwareAcceleration解释了他们的计划/实现,就像IE一样,在XP上选项更加有限,但是如果显卡得到正确支持,其他所有操作系统都会加速。 Firefox 4(我认为!)增加了文本,画布和变换的加速度。


Trident(IE)

IE10似乎几乎拥有硬件加速的一切。 http://blogs.msdn.com/b/ie/archive/2011/04/26/understanding-differences-in-hardware-acceleration-through-paintball.aspx

这很快,所以我并不怀疑他们的主张!

答案 1 :(得分:3)

没有CSS3规范讨论有关GPU加速的任何内容。相反,由每个浏览器制造商或在特定硬件上实现浏览器的公司来决定他们将使用GPU的CSS3的哪些部分。并且,这可以很容易地从一个设备更改为下一个设备。

例如,从大约一年前开始(我没有更多当前信息),3D转换是在iPhone3上加速GPU,但不是2D转换。但是,我希望iPhone3s或iPhone4或未来iPhone5的信息可能完全不同。