67. 2023-07-02周总结
- 篮球项目转小程序
- Stretched Billboard在UGUI下不显示问题
- 华为手机诡异问题
1. 篮球项目转小程序
这周主要用Memory Profiler对内存进行了分析,发现了几个内存现象。
- 首场景的内存受到Resources管理,虽然Destory了,但是内存不会释放,需要调用Resource.UnloadUnusedAssets才能释放
- 摄像机会自动创建一个RenderTexture,大小跟屏幕分辨率一样,UGUI挂载的UI摄像机也会创建,但是如果我把UGUI挂载的摄像机删除,会出现字体模糊问题,这个暂时不知道原因。另外因为我们用到的摄像机都是通过RenderTexture挂载到UI上面的,所以不希望摄像机创建自己的RenderTexture,但是还没找到如何关闭。
- 字体模糊问题,当UGUI的Canvas使用Screen Space - Overlay的时候TMP字体在刚开始显示好的,后面切换下UI就会导致字体模糊,这个还不知道原因
- TextMeshPro内存
TextMeshPro太费内存了,对于小游戏这块对内存比较敏感的场景来说还是不太适用,但是也没办法改了,只能是修改TMP的参数,降低下质量来节约内存。
小程序优化
- 贴图内存,RenderTexture,摄像机会初始化时候创建RenderTexture,UI摄像机也会
- TextMeshPro内存
- 字体模糊
2. Stretched Billboard在UGUI下不显示问题
特效做了一个粒子,用到了Stretched Billboard,但是放在UGUI下面就无法显示,搜了下相关资料,好像是Unity的Bug,需要把Y从0改成0.001就能显示,但是效果会跟3D下的不太一样。后面特效换种方式做了,不知道升级Unity版本能不能解决这个问题。
3. 华为手机诡异问题
项目运行在华为nova 9 SE,系统版本Harmony OS 3.0.0的时候,放在那不动,几分钟就会出现卡帧现象,即使是最简单的登录界面也会这样。用Unity Profiler了下,发现耗时都是在等待GPU渲染。
另外adb查看手机日志也没找到有用的,就是系统每帧调用的addLayerName, tid:16262
,间隔时间越来越长。
这个问题比较诡异,因为能稳定复现,所以准备从0开始慢慢加游戏内容,看哪一步问题导致的。