微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 有没有办法了解“平台”访问网页的硬件资源?

我想从网页上找出浏览器的硬件资源,或至少粗略估计.

即使通过像Modernizr这样的工具在浏览器中检测到现代技术(如csstransforms3d,csstransitions,requestAnimationFrame)的存在,您无法确定是否激活一些性能耗费的选项(如花哨的3D动画)或避免它.

我要问,因为浏览器是现代的(最新的Chrome或Firefox支持所有酷炫技术),但是操作系统的cpu,GPU和可用内存只是灾难性的(32位Windows XP,集成了GPU)因此,纯粹基于检测到的浏览器上限的决定是不好的.

解决方法

通常,关于用户系统的可用(到网页)信息非常有限.

我记得a discussion of adding one such API to the web platform(navigator.hardwareConcurrency – 可用内核的数量),其中特征的对手解释了反对它的原因,特别是:

>应用程序可用的内核数量取决于其他工作负载,而不仅仅是可用的硬件.这不是常数,用户可能不愿意让您的应用程序使用可用硬件资源的全部(或任何固定部分);
>帮助客户“fingerprinting”.
>对于今天的具体情况太多了.该网页旨在在许多设备上工作,其中一些设备今天甚至不存在.

这些参数对于查询特定硬件资源的其他API也是有效的.您想要检查哪些特定的用户系统是否能负担得起运行“花哨的3D动画”?

作为用户,如果您的站点/应用程序的核心功能不需要,我宁可不使用额外的资源(如花哨的3D动画).令人伤心的是,由于缺乏硬件资源,我每几年都要购买一台新的笔记本电脑,以便能够继续使用我目前的工作流程,而不会慢慢运行.

也就是说,这是你可以做的:

>为网站“完整”版本遇到问题的用户提供后备链接.

>如果这对您来说足够重要,您可以首先运行简短的基准测试来检查性能,如果您怀疑系统资源短缺,则可以回到网站资源较少的版本.

>您可以通过检查操作系统,屏幕尺寸等来定位具体的高端平台.

>本文提到手机上的这种方法http://blog.scottlogic.com/2014/12/12/html5-android-optimisation.html

> WebGL通过webgl.getParameter()提供有关渲染器的一些信息.参见此页面,例如:http://analyticalgraphicsinc.github.io/webglreport/

原文地址:https://www.jb51.cc/js/152765.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐