【问题标题】:Chrome 18 3d translate performanceChrome 18 3d 翻译性能
【发布时间】:2012-03-30 09:08:15
【问题描述】:

刚刚在运行 10.7.1 的 Mac 上将 Chrome 从 17 更新到 18.0.1025.142,它扼杀了我们网站的性能。我们一直在使用 translate3d 来在屏幕上移动大量项目。我正在使用 requestAnimationFrame 制作动画。在 17 中,我们获得了超过 50fps 的帧速率。现在幸运地获得了 15fps。真的很糟糕。

硬件加速是否默认关闭?其他人注意到这样的问题吗?我注意到字体渲染得到了改进,现在与 Safari 相当(它可以很好地运行网站)也许这种变化对整体渲染性能有影响?

恐怕由于保密协议,我无法分享链接。但任何帮助将不胜感激!

更新:

据我所知,它仍然是 GPU 加速,但性能确实很差,其他人也报告了类似的事情。 v19 的 Chromium 版本似乎回到了旧的性能质量。

启动 chrome --show-composited-layer-borders 时曾经有一个标志,它会在 gpu 加速元素周围放置红色边框。此选项现在似乎已添加到 chrome://flags/ 中,但它在图层周围绘制了绿色边框,并且似乎不再区分 gpu 元素。有谁知道显示元素是否由 gpu 呈现的选项?

chrome://gpu/ 表示一切都在硬件加速...

【问题讨论】:

标签: html google-chrome css requestanimationframe translate3d


【解决方案1】:

在新网页中使用新代码重现问题。这将极大地帮助您的 SO 问题和错误报告。

浏览器会根据您的显卡和驱动程序版本是否受支持定期调整是否使用硬件加速。更新您的显卡驱动程序可能会为解决问题,但可能不是其他所有人。 (我写的这个工具可能有帮助:graphics driver updater

事实上,对于您的网站来说,依赖硬件加速是一个坏主意,因为很大一部分用户拥有不支持的糟糕硬件和/或过时的驱动程序,这些驱动程序被列入黑名单,以防止用户的计算机在浏览网页时崩溃。在任何版本的 Chrome 中,它们也会获得糟糕的、未加速的帧速率。

因此,IMO 真正的问题是您的网站依赖于并非所有人都具备的硬件加速,而您刚刚注意到,因为 Google 在 Chrome 18 中将您的设置列入了黑名单。

【讨论】:

  • 我将尝试在可共享的 URL 中复制,但我现在根本没有时间。如果是硬件加速问题,则在 Chromium Mac 开发版本 121128 (19.0.1036.0) 中已更正。这适用于我们所有的机器(Mac 或 Windows)。我同意依赖硬件加速是个坏主意,我们只在支持的情况下使用 translate3d,否则在左侧和顶部定位。令人讨厌的是,左侧和顶部定位产生的动画比有缺陷的 translate3d 更流畅,但使用 translate3d 时的效果明显优于两者。我们只能测试 translate3d 是否可用,而不是它是否正常工作。
猜你喜欢
  • 1970-01-01
  • 2014-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 2012-01-18
  • 2016-06-07
  • 2012-02-17
相关资源
最近更新 更多