这是一个不太可能的事情--有没有办法通过JS插件来检测显卡性能的优劣?
我们为客户端构建了一个视差站点,它在性能较低的机器上出现卡顿-我们可以调整性能,使其在所有方面都更好地工作-但这当然会降低高性能机器用户的体验。
我们也可以检测到浏览器版本--但是同一个浏览器可以在低性能和高性能的机器上运行--所以对我们的情况没有帮助
有什么想法吗?
发布于 2013-03-23 04:20:36
requestAnimationFrame (rAF)可以在这方面提供帮助。
你可以使用rAF计算出你的帧率。详情请看这里:calculate FPS in Canvas using requestAnimationFrame。简而言之,你计算出帧之间的时间差,然后除以1(例如1/.0159s ~= 62fps )。
注意:对于您选择的任何方法,性能将由您任意决定。也许任何超过每秒24帧的都可以被认为是“高性能”。
发布于 2013-03-14 02:04:10
这就是“老式”加载屏幕派上用场的地方,你可以在前景(或隐藏)呈现一些复杂的东西,不管它看起来是奇怪还是笨拙--当你加载了你的资源时,你可以决定启用或禁用什么效果。
基本上,你会使用jcage提到的测试帧率(即结合使用setInterval和计时器)。然而,这并不总是100%可靠的,因为如果他们的机器在这种情况下决定做一个三螺旋后空翻(或者更有可能的事情),你会得到一个不可靠的读数。根据所涉及的动画,可以实时升级和降级效果-但这对于编码来说总是更棘手的,加上您自己对情况的分析实际上有时会导致性能下降。
发布于 2013-03-14 00:34:59
火狐有一个内置的不支持的显卡列表:https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers help acrticle。
但您只能在访问WebGL功能时间接测试它们...
当出现问题时,http://get.webgl.org/troubleshooting/会将您引导至相应的浏览器提供商。在检查JS代码时,您将看到它们是通过
if (window.WebGLRenderingContext) {
alert('Your browser does not support WebGL');
}如果您有最新的显卡。
https://stackoverflow.com/questions/15391009
复制相似问题