收藏
回答

小游戏的离屏canvas效率很差

如题用createCanvas建立的离屏的canvas,本来是想用来做ui的缓存的,结果发现动态更新ui的时候fps降低得非常厉害,还不如我直接在主canvas里绘制,这效率,恐怕直接用dom更新都比他快


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

10 个回答

  • LastLeaf
    LastLeaf
    2018-01-11

    对于小游戏,是的。

    2018-01-11
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-01-10

    收到。事实上小游戏框架是基于GL实现的,你可以直接在主canvas绘制的。

    2018-01-10
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-01-10

    可以提供一下代码说明你的具体做法吗?

    2018-01-10
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-01-09

    其他机型有出现类似问题吗?

    2018-01-09
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-01-09

    你好,请提供一下出现问题的机型和微信版本。

    2018-01-09
    赞同
    回复
  • 淡定
    淡定
    2018-01-11

    小游戏性能是有点差,特别ios端,同样的场景,居然帧数比安卓的还低,比原生的差很多

    2018-01-11
    赞同
    回复
  • Retro Daddy
    Retro Daddy
    2018-01-11

    @LastLeaf 你的意思是canvas 2d也是使用 gl 硬件加速的?

    2018-01-11
    赞同
    回复
  • 杨霄
    杨霄
    2018-01-10

    在主循环里

    if(需要更新ui){

        uicanvas.clearrect

        uicanvas.draw

        需要更新ui=false

    }

    maincanvas.drawImage(uicanvas)

    和你们自带的游戏不同的是,我给所有canvas的width和height都是乘以pixelRatio的,但用style约束到屏幕长宽,我不知道这是否会影响,但按照道理是不应该有影响的。

    以上代码如果我把需要更新ui去除,每帧都绘制在第二canvas上,FPS也是一样显著下降


    2018-01-10
    赞同
    回复
  • 杨霄
    杨霄
    2018-01-10

    我没有测试过,我只有自己的手机而已,现在小游戏也只能自己预览

    2018-01-10
    赞同
    回复
  • 杨霄
    杨霄
    2018-01-09

    魅族note5,微信6.6.1


    2018-01-09
    赞同
    回复