收藏
回答

Canvas性能问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug Canvas 客户端 2.2 2.2

现在的问题是 Canvas在绘图时,我使用的setInterval来循环进行绘图,设置每秒20帧,但发现一个匀速左右移动图片显示 结果是不均速,一卡一卡地忽快忽慢不流畅。我这个canvas是全屏的。


想问下,小程序适不适合做这种全屏的绘图 ?是不是小程序这种纯js的框架 就是这个样,就是性能不高,还是有别的解决办法 ?

安卓 原生的Java应用好像就没这个问题。

我没有用requestAnimateFrame,是因为我担心帧率太的话,手机容易卡。

最后一次编辑于  2018-09-26  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 小程序技术专员-villainhr
    小程序技术专员-villainhr
    2018-09-26

    这个现在正在修复。

    2018-09-26
    赞同
    回复 5
    • 巴斯光年
      巴斯光年
      2018-09-26

      啊?这是官方回复?

      2018-09-26
      回复
    • 小程序技术专员-villainhr
      小程序技术专员-villainhr
      2018-09-27

      嗯,现在正在优化 canvas 渲染性能。后续会跟随版本一起发布。

      2018-09-27
      回复
    • 巴斯光年
      巴斯光年
      2018-09-29

      太好了,谢谢!

      2018-09-29
      回复
    • Hans
      Hans
      2018-12-24

      什么时候能发布哦

      2018-12-24
      回复
    • 浮生
      浮生
      星期一 16:43
      请问下, 这个问题现在修复了吗?我看时间是去年的,怎么现在渲染还是那么的慢卡呢
      星期一 16:43
      回复
  • 韬々
    韬々
    2018-09-26
    1. 20FPS本来就不算是流畅

    2. 因为setTimeInterval并不能保证每秒一定有20帧,你可以在每一次执行回调的时候打一下时间戳。具体原因参考JS的事件队列机制。

    3. 做动画用requestAnimationFrame就可以了

    2018-09-26
    赞同
    回复 1
    • 巴斯光年
      巴斯光年
      2018-12-24

      requestAnimationFrame是不是对cpu压力很大?

      2018-12-24
      回复