我希望能够从网页上了解浏览器的硬件资源,或者至少是粗略估计。
即使您通过csstransforms3d
等工具在浏览器中检测到现代技术(例如csstransitions
,requestAnimationFrame
,Modernizr
)的存在,也无法确定是否激活一些性能消耗选项(如花式3D动画)或避免它。
我问,因为我有(很多)浏览器 是现代 (支持所有酷炫技术的最新Chrome或Firefox)但操作系统CPU的情况,GPU和可用内存只是灾难性的(带有集成GPU的32位Windows XP),因此完全基于检测到的浏览器上限的决定并不好。
答案 0 :(得分:2)
虽然Nickolay给出了非常好的和广泛的解释,但我想建议一个非常简单但可能有效的解决方案 - 您可以尝试测量页面加载所需的时间并决定是否使用资源 - 饥饿功能与否(Gmail的功能类似 - 如果加载时间过长,则会显示切换到“基本HTML”版本的建议)。
这个想法是,对于慢速计算机,加载任何页面,无论内容如何,平均来说应该比现代计算机慢得多。获取加载页面所花费的时间should be simple,但有几点需要注意:
答案 1 :(得分:1)
通常,有关用户系统的可用(到网页)信息非常有限。
我记得a discussion of adding one such API to the web platform(navigator.hardwareConcurrency
- 可用内核的数量),该功能的反对者解释了反对它的原因,特别是:
这些参数也可用于查询特定硬件资源的其他API。 您想具体检查用户的系统是否能够负担得起运行一个花哨的3D动画"?
作为用户,如果您的网站/应用的核心功能不是必需的,那么您并没有使用其他资源(例如精美的3D动画)。真的很遗憾我每隔几年就要购买一台新笔记本电脑,以便能够继续使用我当前的工作流程而不会因为缺乏硬件资源而非常慢地运行。
那就是说,你可以做什么:
webgl.getParameter()
提供有关渲染器的一些信息。请参阅此页面,例如:http://analyticalgraphicsinc.github.io/webglreport/