我编写了使用 -webkit-transform、-webkit-perspective 和几个类似的 CSS。我的设计在可以使用硬件加速的机器上看起来非常出色,但在不使用硬件加速时实际上无法使用。如何检查硬件加速可用性并提供后备 CSS?
旁注:运行 chrome://gpu-internals/ 手动检查可用性。
可悲的是,答案似乎是“你还不能”。
Modernizr 项目将硬件加速列为“不可检测的”:https://github.com/Modernizr/Modernizr/wiki/UnDetectables.
部分问题似乎是在渲染页面上的任何内容时根据具体情况使用硬件加速。因此,即使浏览器理论上可能支持硬件加速,但它是否会用于任何给定的操作(翻译、转换、重绘等)将无法提前得知。
您可以想象一种检测方案,使用分析来检测有/没有硬件加速的性能变化 - 但使用硬件加速的事情发生在页面视图之外的层中。例如,即使您可以可靠地启用/禁用硬件加速,您也无法检测过渡的帧速率。
webkit 渲染 API 看起来像是可以使用此信息的地方,但它看起来无法通过页面级 Javascript 访问(即使 DOM 中的节点附加有 RenderObjects):https://www.webkit.org/blog/114/webcore-rendering-i-the-basics/
看起来唯一可行的选择是用户代理嗅探已知加速浏览器的列表(恶心)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)