48. 2023-02-19周总结
- Timeline裁剪问题
- 性能优化
- 点击降帧率问题
- 升级头条Ohayoo SDK编译报错问题
- 升级xcode导致ios 16崩溃问题
Timeline裁剪问题
PlayableAsset returned a null Playable on Instantiate
报错上周定位到肯定是因为裁剪导致的,但是link.xml加了<assembly fullname = "UnityEngine.Timeline" preserve = "all"/>
还是报错。
最后在这个文档的最后面发现是因为Unity改了Timeline的Assembly名字了,改成Unity.Timeline
问题解决。
性能优化问题
上周通过修改特效产生的粒子数做了一版优化,但是单个粒子优化得到提升,最终放在一起的效果还是不太理想。
这周进一步进行优化,最终发现特效使用的shader有严重的性能问题,粒子数很少的情况下,当两个特效放在一起播放就会出现掉帧现象。
阅读特效使用的shader之后,发现他是一个大杂烩,功能很多,代码也很多,而且没有用到Shader Feature,导致只是用到其中一个简单的功能,所有操作都会计算一遍。
最终重写了对这个shader进行重写,删除大部分用不到的功能,并在此基础上用到了Shader Feature,进一步降低了只用到简单功能的情况下的计算量。
重写之后整体性能得到了很大的提升,由之前的15帧升到了40帧。
点击降帧率问题
在测试性能优化的时候发现了个奇怪的问题,我的测试机(某星)在点击的时候就会降帧率,点击很快的情况下帧率甚至可以降到个位数。一开始以为我们游戏哪里有问题,但是即使我用了空场景了,问题依旧,而且只在这台机器上会出现这个问题。现象比较奇怪,暂时不知道原因。
升级头条Ohayoo SDK编译报错问题
头条那边要求升级Ohayoo SDK版本到27xx版本。
Android升级过程没有太大问题,但是ios编译不通过,报link错误,找不到很多函数。最后将xcode从13.x升级到14.x之后问题解决
升级xcode导致ios 16崩溃问题
因为升级了xcode,导致我们另外一个项目编译出来之后在ios 16直接启动就崩溃了。报错日志:
1 | Sending event: com.apple.stability.crash {"appVersion":"1.3.3","bundleID":"com.moutain.sea.restaurant.ios","bundleVersion":"202302171410","exceptionCodes":"3405SIGKILL00x0000000000000d4d, 0x0000000000000000(\n \"INVALID_OPTIONS\"\n)mach_msg_trap() called with msgh_id 3405. The trap is not allowed on this platform.GUARD_TYPE_MACH_PORTEXC_GUARD(\n 3405,\n 0\n)","incidentID":"B2FADA2B-BBB3-4627-8C41-CA595B39810B","logwritten":1,"process":"ProductName","terminationReasonExceptionCode":"0x2000000300000d4d","terminationReasonNamespace":"GUARD"} |
搜资料之后原因可能是sdk问题:
1 | Due to one internal third party SDK which was non-supportive for iOS 16. |
因为这个项目也接了头条sdk(还没升级过),所以严重怀疑这个sdk有问题。升级了sdk之后,问题果然得到了修复。