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

时间:2013-08-14 21:22:53

标签: javascript css animation

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

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

1 个答案:

答案 0 :(得分:1)

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

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/)。