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