search

Home  >  Q&A  >  body text

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

比如小米自带的浏览器。

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

PHPzPHPz2902 days ago558

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 14:50:10

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

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

    链接

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

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 14:50:10

    省電?

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

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:50:10

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

    reply
    0
  • Cancelreply