我制作了一个CPU密集的网页,里面有很多CSS3和Javascript。我想使用Javascript来测试用户的计算机是否能够处理脚本。我认为一种可能的方法是运行一些CPU密集型脚本并查看它花了多长时间。但是,我不知道如何实际实现这一点。
这是网页:http://leojiang.me/(3D立方体只能在webkit浏览器中查看)。
答案 0 :(得分:10)
您可以分析渲染一帧或几帧所需的时间,以便了解客户端上的fps。
var StartTime = new Date().getTime();
BenchMarkTestFunction(); // render frame for example
var EndTime = new Date().getTime();
var ElapsedMilliseconds = EndTime - StartTime;
var AcceptableTime = 1000; // one second
var IsGoodPerformance = ElapsedMilliseconds < AcceptableTime; // some number being acceptable performace
if(!IsGoodPerformance) {
alert("Sorry your browser is not good enough to run this site - go somewhere else");
}
您可以通过在不同的浏览器/设备上测试您的网站并查看其执行方式以及ElapsedMilliseconds的值来确定AcceptableTime应该是什么。
答案 1 :(得分:0)
禁止设置localstorage来运行脚本(基本上是攻击用户的机器 - 请不要这样做),我不相信你可以做任何事情,除了找到操作系统和架构。我觉得好像我已经在flash中看过这个,但严格来说js不会找到速度。我同意斯科特。如果潜在用户可能遇到问题,请重新设计。否则,我的i5对该网站非常满意。祝你好运!
答案 2 :(得分:0)
有很多方法可以使用javascript来评估主机的CPU或图形功能。例如,您可以使用这些操作运行一组迭代,并测量从开始到结束的时间。
通常,仅仅尝试测量单个CPU性能数字并不是那么有用,因为准确测量关键操作的重要性要大得多。
例如,如果您关注某种类型的图形渲染,则可以执行示例动画并查看在特定时间内可以渲染的帧数。