在第一次加载时运行快速Javascript基准测试

Running a quick Javascript benchmark on first load

本文关键字:Javascript 基准测试 运行 第一次 加载      更新时间:2023-09-26

当用户第一次访问我的web应用程序以检测其计算机动画元素的能力时,我想运行一个简单快速的Javascript基准测试。我记得一位老师在大学里这样做是为了根据用户的机器调整游戏的帧速率。

这是可以在不牺牲太多用户资源的情况下完成的吗?也许在页面加载后几秒钟?如果结果不好,我们只会禁用该用户的部分或全部动画。

回答您在帖子中提出的问题:

1) 当一个人第一次加载你的网站时,可以运行JavaScript基准测试,以测试他们的CSS/JavaScript动画速度,但这将牺牲一些资源。你必须考虑访问你网站的人。如果他们要通过移动设备访问你的网站,你最不想做的就是让他们的设备停止,要么冻结浏览器,要么让其他应用程序内存不足。您不希望桌面移动用户认为网站没有响应。

2) 页面加载后等待几秒钟的问题之一是,根据你想对网站做什么,人们会开始尝试滚动浏览你的内容。如果他们开始滚动并意识到网站"断断续续",他们可能会认为他们的设备出了问题。

另一个警告是,如果您想要尽可能平滑的动画,您可能最终会使用requestAnimationFrame(请参阅https://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/)。如果有人加载了你的网站,然后在你的测试运行时点击它到另一个选项卡,浏览器已经采取了降低非活动选项卡中的帧速率以支持活动选项卡中帧速率的做法。基于这种(不正确的)帧速率功能的测试将导致您的网站的某些部分被禁用,因为那些完全能够在所有动画都完好无损的情况下运行您的网站,所以这是您可能需要考虑的问题。

在我几个月前运行的一些测试中,CSS3版本的动画几乎总是比JavaScript版本的动画更流畅。然而,现在有一些jQuery库可以通过尽可能使用CSS3动画来弥补这一差距,例如jQuery Transit(http://ricostacruz.com/jquery.transit/)。