首页 > 某些移动端 requestAnimationFrame 更慢的原因?

某些移动端 requestAnimationFrame 更慢的原因?

比如小米自带的浏览器。

原因已经找到了。就是视频中说的小米的miui V5是基于一个没有完成的浏览器版本。
解决办法在这里
JavaScript基于时间的动画算法


说不定你遇到了 MIUI 的问题,详见 Egret HTML5 大会上关于小米的一段吐槽,简单说就是 MIUI V5 基于一个有问题的浏览器内核做开发,导致浏览器性能太差,帧率上不去。

直接跳转到 27:43 观看吐槽。

链接

不过这只是猜测,你可以多换几台小米机器试试。


省電?

反正只要運算量不大,iOS 和 OSX 的 fps 一樣。


我自己想了一下觉得可能是这样。欢迎对此有研究的高人继续回答。
requestAnimationFrame是和浏览器帧频相关的。桌面浏览器一般支持的浏览器都能到60帧的帧频。
但是移动端。比如小米浏览器。支持这个方法。但是帧频只有可怜的15帧左右。假如做的效果是一个物体从0运动到500,速度恒定S。 那么它运动完需要的时间将会比桌面浏览器长4倍。所以会感觉很慢。
除非在requestAnimationFrame调用的方法中根据帧频调整速度S为以前的4倍。这样保证运动所需时间和桌面浏览器一样长。所以在使用这个方法的时候,要注意一下使用场景。

【热门文章】
【热门文章】