【发布时间】:2015-02-25 21:03:28
【问题描述】:
我有一个图形密集型网站。它具有在模糊的视频背景上运行的各种 CSS3 动画。它在我的台式机和支持 GPU 的 MacBook Pro 上看起来很棒,但在我的笔记本电脑和 MacBook Air 上运行起来就像垃圾一样。
所以基本上,我想知道是否有办法使用 Javascript(或任何东西)检测浏览器图形性能,然后仅在性能达到阈值时应用 CSS 动画。该网站有一个加载屏幕,所以我有一些时间来测试性能。
我知道我可以使用 Modernizr 检测 WebGL,但不幸的是,即使性能很差,即使我的笔记本电脑的 WebGL 测试结果也呈阳性,所以我需要一个替代方案。
谢谢
【问题讨论】:
-
看看在你的动画中使用
window.requestAnimationFrame。这是一种递归方法,每次计算机屏幕刷新时只触发一次。 -
来自 Mozilla MDN (developer.mozilla.org/en-US/docs/Web/API/window/…) "Window.requestAnimationFrame() 方法告诉浏览器您希望执行动画,并请求浏览器调用指定的函数以在下一次之前更新动画重绘”。只是不觉得“每次电脑屏幕刷新时只触发一次”是一个很好的解释。
标签: javascript css performance-testing