Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在第一次加载时运行快速Javascript基准_Javascript_Css_Animation - Fatal编程技术网

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

在第一次加载时运行快速Javascript基准,javascript,css,animation,Javascript,Css,Animation,我想做的是,当用户第一次访问我的web应用程序时,运行一个简单而快速的Javascript基准测试,以检测他的计算机对元素进行动画处理的能力。我记得一位老师在大学里这样做是为了根据用户的机器调整游戏的帧速率 这是否可以在不牺牲太多用户资源的情况下实现?可能在页面加载后几秒钟?如果结果不好,我们只需禁用该用户的部分或所有动画。要回答您在帖子中提出的问题: 1) 当一个人第一次加载你的网站,测试他们的CSS/JavaScript动画速度时,可以运行JavaScript基准测试,但这会牺牲一些资源。你

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


这是否可以在不牺牲太多用户资源的情况下实现?可能在页面加载后几秒钟?如果结果不好,我们只需禁用该用户的部分或所有动画。

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

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

2) 页面加载后等待几秒钟的问题之一是,根据您对站点的操作,人们将开始尝试滚动浏览您的内容。如果他们开始滚动并意识到网站“结巴”,他们可能会认为他们的设备有问题

另一个警告是,如果您希望获得尽可能平滑的动画,则可能最终使用requestAnimationFrame(请参阅)。如果有人加载了你的站点,然后在测试运行时点击另一个选项卡,那么浏览器已经采用了减少非活动选项卡中帧速率的做法,而不是使用活动选项卡中的帧速率。基于此(不正确)帧速率功能的测试将导致网站的某些部分被禁用,因为这些人完全有能力在所有动画完好无损的情况下运行网站,所以您可能需要考虑这一点


在几个月前我运行的一些测试中,CSS3版本的动画几乎总是比JavaScript版本的动画平滑。但是,现在有一些jQuery库可以在可能的情况下通过使用CSS3动画来弥补这一差距,例如jQuery Transit()。

最好使用一个测试来表示将要做什么-如何设置元素动画?大多数元素都是通过jQuery.animate()或在某些情况下通过简单的CSS3转换来设置动画的。