Android系统上,小游戏刷新内容时,如果不进行清除操作,可以看到canvas内容被循环绘制了多次。不知道这是SurfaceView的问题还是微信内部的Bug。理论上这会造成相当严重的性能和功耗损失。另外canvas初始内容也很奇怪。似乎每帧都在重新为canvas申请内存。

- 预期表现

canvas内容只在正确位置绘制一次。确保canvas除非必须,不申请新内存。有可能的话,canvas最好能保留上次绘制的内容。

- 复现路径


- 提供一个最简复现 Demo

var canvas = wx.createCanvas();
展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • MaryLou

    11人对此回答表示赞同

    我也遇到这个问题.我做了一个跑酷游戏,iphone4s渲染都丝滑般流畅.

    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 萌猫君

    8人对此回答表示赞同

    占用内存这个问题太吓人了,希望你们重视下,不然安卓游戏根本没法玩。

    展开
    8
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 和畅

    4人对此回答表示赞同

    wechatide://minicode/ec7ipOmc7g17

    展开
    4
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Riley

    3人对此回答表示赞同

    这个是因为手机GPU驱动实现的原因,Android设备必须每帧清屏并画满,否则可能会出现花屏。如果使用主流游戏引擎,应该是已经适配了该问题。

    展开
    3
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 李大莉 2019-02-23 08:43

      不是说花屏,是说canvas内容被重复绘制。不过我现在不方便试是不是Android底层的问题,目前我这儿三台不一样的手机全都有这个现象。我不觉得Android会干这种每帧都把一个屏幕大的内容重复采样几十次这种单纯消耗电量的事。而且也不至于出现每帧缓冲内容都是不一样的垃圾数据这种显现。现在Andorid上小游戏用的是SurfaceView还是TextureView?

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部