微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在CSS3中启用硬件加速会降低性能?

我在css3实验中使用从顶部:0到顶部:145px的转换来移动6000个小div元素,以测试性能

在Google Chrome上不使用硬件加速运行顺畅。

如果我通过translateZ(0)启用硬件加速性能变得可怕。

为什么?

这里是我的示例代码http://dl.dropboxusercontent.com/u/17844821/tmp/hwtest.html

更新(2014-11-13):由于这个问题仍然引起注意我想指出,问题本身仍然似乎存在,虽然提到的口吃可能不再是在现代硬件提供的演示中可见。较旧的设备可能仍会看到性能问题。

解决方法

我总是添加
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;

使用3d变换时。甚至“假”3D变换。经验告诉我,这两条线总是提高性能,特别是在iPad上,而且在Chrome上。

我试过你的例子,据我所知,它的工作原理。

至于“为什么”你的问题的一部分…我不知道。 3D变换是一个年轻的标准,所以实现是波动。这就是为什么它是一个前缀属性:用于beta测试。有人可以填写错误报告或问题,并让团队调查。

按2013年8月19日编辑:

在这个答案有定期活动,我只是失去了一个小时,发现IE10也需要这个。
所以不要忘记:

backface-visibility: hidden;
perspective: 1000;

原文地址:https://www.jb51.cc/css/223669.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。