Unity3d5.6 SpriteRenderer high SpriteMeshGenerator.TraceShape app Crash

17 篇文章 0 订阅
4 篇文章 0 订阅

Unity3d5.6 SpriteRenderer 内存占用不断增加,apk程序奔溃的问题

SpriteMeshGenerator.TraceShape
SpriteMeshGenerator.Simplify
以上两个是Profile中SpriteRenderer的主要查看对象

2d, 3d设计游戏中子弹始终会用到SpriteRenderer
SpriteRenderer: Renders a Sprite for 2D graphics.
https://docs.unity3d.com/ScriptReference/SpriteRenderer.html

Prefab设置:
这里写图片描述
这里写图片描述

1.游戏运行中的内存消耗:
tupian
运行启动
这里写图片描述
运行一分钟后:
这里写图片描述
几分钟后:
这里写图片描述
测试在安卓里面这种每秒30-50发子弹及其以上,15分钟,1g内存的机器,app就会挂掉,
在pc上测试会越来越卡
2.修改SpriteRenderer为Plane代替:
这里写图片描述
运行起来:
这里写图片描述
几分钟后:
这里写图片描述
这里写图片描述
内存保持稳定,Gc回收很及时;

3.修改cannon(SpriteRenderer)父组件的scale 1,1,1, cannon 100, 100, boxcollider 100,100
这里写图片描述
这里写图片描述
内存一样会飚起来,一直升,,,
结论就是:在3d世界中渲染面片最好用Plane代替SpriteRenderer, 有利于内存回收,减少内存消耗;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值