我正在尝试测量浏览器使用onload事件加载某种重图形所需的时间。
到目前为止,我只能测量加载某些图像所需的时间,但是我想使用这些测量结果区分客户端 - 因此需要更重的图形操作。
在这个问题上,是否可以在浏览器上测量某种重图形的加载时间? (也许是通过组合webgl?)
答案 0 :(得分:3)
WebGL为您提供了在javascript和着色器之间建立连接的可能性。但它不提供有关设备性能的任何信息。
可以使用WebGL编写小程序,并通过FPS计算猜测客户端GPU性能(http://jsfiddle.net/vZP3u/)。使用很少的不同着色器可以进行有用的猜测。 但在某些情况下,测试可以被视为DOS攻击,浏览器不允许(不应该)允许您这样做(测试可能会破坏整个浏览器 - >人们不会访问您的网站)。
您也可以使用WebGL获取这些数据:http://analyticalgraphicsinc.github.io/webglreport/
摘要,原生javascript不提供有关设备的信息。您只能运行测试来猜测某些数据。您可以使用ajax 获取线索关于下载/上传速度,纯js用于CPU性能或WebGL着色器用于GPU性能。但是所有测试都非常依赖于客户端使用他的设备做什么。
此外,浏览器有时会提供获取某些数据的方法。例如G chrome console.memory
,但不是crossbrowser方法如何得到一些东西。