css - -webkit-transform : translate3d(); trigger hardware acceleration for the whole page, 还是仅针对目标元素?

标签 css performance google-chrome css-transforms hardware-acceleration

我正在开发一个 CPU 密集型 Web 应用程序。我已经开始在某些元素上使用 -webkit-transform: translate3d(0, 0, 0) 来提高平均帧率,正如 http://davidwalsh.name/translate3d 所建议的那样和 http://www.html5rocks.com/en/tutorials/speed/html5/ ,等等。这一调整对渲染性能产生了相当大的影响,尤其是在 Chrome 中。

如果我将此技术应用于单个动画元素,它会触发整个页面的硬件加速,还是仅针对该元素?或者它可能只触发该元素的渲染层的硬件加速?

研究 Chrome 的“合成渲染层边框”(在 chrome://flags 中)的输出似乎表明该行为仅限于指定的元素,但最好有更具体的答案。

最佳答案

仅在元素的动画期间。硬件加速,根据http://www.html5rocks.com/en/tutorials/speed/html5/仅适用于:

《General layout compositing》(页面的初始渲染)
“CSS3 过渡”和“CSS3 3D 过渡”(在过渡期间应用于单个元素以辅助帧率)
“Canvas Drawing”和“WebGL Drawing”(不适用于您的问题)

关于css - -webkit-transform : translate3d(); trigger hardware acceleration for the whole page, 还是仅针对目标元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535967/

相关文章:

python - 如何通过 python/pandas 中另一个数据框的值来标记数据框列的最有效方式?

CSS 在 Chrome 和 IE8 中的应用不当

php - Drupal block 标题跨越每个单词

html - 创建一个 7x3 的图像网格

java - 单独的流口水规则还是有更多的结果?

MySQL查询性能突然变慢

jquery - 选项资源加载失败 - 基本身份验证 + SSL - Chrome/Safari

javascript - Firefox 附加组件从后台/内容脚本访问弹出脚本?

css - 如何在父菜单项而不是子菜单项下划线?

html - 滚动 DIV 内容而不是浏览器窗口