unity3d移动平台性能优化专题(11):脚本细节

本文讲述了在Unity3D中遇到的移动平台性能问题,特别是战斗脚本初始化导致的卡顿。通过将资源提前准备、排队初始化战斗单位以及解决Just-In-Time(JIT)编译问题,成功将卡顿时间从2s降低到0.5s以内,实现了更流畅的游戏体验。
摘要由CSDN通过智能技术生成

        最近一直忙于逻辑,就一段时间没管性能,然后放到红米上,突然一开始有严重卡顿。情况如下:

        以前所有战斗初始化都是在Awake()里面执行,全部时间大概是1-2s,但由于是在awake中,从体验上会觉得是和loading一块,所以没有影响。但现在增加了一个剧情,一开始设计的时候很简单,就是说剧情模式下执行剧情脚本,然后进入战斗再挂上战斗脚本。然后问题来了,我希望做到剧情和战斗的无缝衔接,起码不要有明显的卡顿,不然剧情结束还要loading啥的太sb了。但现在的情况是,所有战斗脚本Awake有2s左右,基本就卡主了。性能分析器也显示主要是资源加载和第一次初始化太耗时间。我主要从三个方面入手处理。

        1.将可以提前准备的资源依然放在Awake中。这个就是从逻辑上处理,本来要剧情结束才开始战斗,但其实一开始就可以准备全部的剧情资源和部分战斗资源,例如战斗场景,背景音乐等。这个需要重构,我也鼓励大家多重构,不要怕麻烦。因为这样才能进步。这一步做完,基本少了一点点卡顿,大概还是接近2s。

        2.排队初始化。战斗单元是无法提前得知的,所以无法提前准备,然后我一开始是同时初始化10个战斗单位,现在改成每隔0.05秒初始化一个,也就0.5s初始化完毕。一开始觉得这样肯定大幅减少卡顿,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yxriyin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值