检查硬件加速可用性? (可用测试)

时间:2013-03-09 12:53:59

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

我编写了使用-webkit-transform,-webkit-perspective和几个类似的CSS。我的设计看起来是在有硬件加速可用的机器上的蜜蜂膝盖,但在没有时几乎无法使用。如何检查硬件加速可用性并提供后备CSS?

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

1 个答案:

答案 0 :(得分:1)

可悲的是,答案似乎是'你不能(还)'。

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

部分问题似乎是在页面上呈现任何内容时,逐个使用硬件加速。因此,即使浏览器理论上可以支持硬件加速,但是它是否会用于任何给定的操作(翻译,转换,重新绘制等)将不会提前知道。

您可以想象一种检测方案,该方案使用分析来检测具有/不具有HW加速的性能变化 - 但是使用HW加速的事物发生在页面视图之外的层中。例如,即使可以可靠地启用/禁用硬件加速,也无法检测转换的帧速率。

webkit呈现API看起来像这个信息可用的地方,但它看起来不能通过页面级Javascript访问(即使DOM中的节点附加了RenderObjects):https://www.webkit.org/blog/114/webcore-rendering-i-the-basics/

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