【问题标题】:Checking hardware acceleration availability? (Testing available)检查硬件加速可用性? (可测试)
【发布时间】:2013-03-09 12:53:58
【问题描述】:

我编写的 CSS 使用 -webkit-transform、-webkit-perspective 和几个类似的。我的设计在可以使用硬件加速但实际上无法使用的机器上看起来就像蜜蜂一样。如何检查硬件加速可用性并提供备用 CSS?

旁注:运行 chrome://gpu-internals/ 以手动检查可用性。

【问题讨论】:

  • 我可以想象我在fiddle 中都尝试过的两个选项,但是(幸运的是?)chrome 不允许“加载本地资源”,这基本上是我对浏览器的期望。 .
  • 很好的测试。在发布这个问题之前,我花了很长时间寻找解决方案。我不敢相信我是第一个想要这个的人!

标签: css hardware-acceleration webkit-transform webkit-perspective


【解决方案1】:

可悲的是,答案似乎是“你还不能”。

Modernizr 项目将硬件加速列为其“不可检测的”:https://github.com/Modernizr/Modernizr/wiki/Undetectables

问题的一部分似乎是在渲染页面上的任何内容时根据具体情况使用硬件加速。因此,即使浏览器理论上可能支持硬件加速,但它是否会用于任何给定的操作(翻译、过渡、重绘等)也不会提前知道。

您可以想象一个检测方案,它使用分析来检测有/没有硬件加速的性能变化 - 但使用硬件加速的事情发生在页面视图之外的一层。例如,您无法检测过渡的帧速率,即使您可以可靠地启用/禁用硬件加速。

webkit 渲染 API 看起来可以提供这些信息,但看起来无法通过页面级 Javascript 访问(即使 DOM 中的节点附加了 RenderObjects):https://www.webkit.org/blog/114/webcore-rendering-i-the-basics/

看起来唯一可行的选择是用户代理嗅探已知加速浏览器列表(糟糕)。

【讨论】:

    猜你喜欢
    • 2011-04-23
    • 2011-07-21
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 2014-05-24
    • 1970-01-01
    • 2017-05-06
    相关资源
    最近更新 更多