收藏
回答

小程序使用硬件纹理大坑,多次测试内存不降反增。

游戏引擎 AppID 微信版本 基础库版本
cocosjs wx9357f72b7207ddc0 任意版本 latest

小程序使用硬件纹理后,内存不降反增,经过后台多次测试(小游戏云测试),在一些暴力情况下,甚至内存到了崩溃的边缘。

使用硬件纹理后确实图形内存减少了。但其他块的内存加的甚至比减的还多!

问题应该出在上传硬件纹理时的接口上面。硬件纹理是上传的arraybuffer数据。普通纹理是image对象。判断是同时上传多个arraybuffer数据时,微信内部

会保存一个缓存。如果在同一时间创建多个纹理,这个private数据直接爆掉。如果创建纹理后立马释放,native纹理也会爆掉。

回答关注问题邀请回答
收藏

2 个回答

  • 船长
    船长
    1天前

    内存肯定是释放了的,压测是拿的2048的图进行的,总共分配了1.5G左右的内存。如果不释放图形缓冲区的大小不会这么小。

    1天前
    有用
    回复 2
    • 船长
      船长
      1天前
      这里面必有大坑,微信内部应该使用了Commandbuffer这样的命令模式,当上传硬件纹理数据时,如果同时上传多个,会导致缓冲区暴增又不会回收
      1天前
      回复
    • 船长
      船长
      3小时前回复船长
      麻烦官方给个回复!
      3小时前
      回复
  • 智能回答 智能回答 本次回答由AI生成
    1天前
    有用
登录 后发表内容