javascript - 是否可以通过使用 onload 事件来衡量 gpu/cpu 的性能?

标签 javascript performance webgl dom-events onload

我正在尝试测量浏览器使用 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/

相关文章:

javascript - 如何从 promise 中检索值(value)

performance - total = total + ActiveCell.Value 不适用于每个循环

c++ - float 与 int 比较需要额外的时间吗?

javascript - 将 Maya 场景转换为 JavaScript 或 WebGL

javascript - WebGL-渲染一个又一个形状时出现问题

javascript - CSS Z-Index : How to show element above parent's sibling?(并且在父级之上有表亲)

javascript - 函数引用其属性的 javascript (ECMAScript) 是否合法?

javascript - SOAP跨域请求如何使用JQuery

performance - Shingleprinting 在实践中是如何工作的?

javascript - 如何使用 webgl/two.js 创建带有选择的基本菜单栏?