我的第一次Unity场景优化

本次优化主要集中在场景优化(雪景的优化),由于经验不足,本次优化的大部分问题都是些本就不应该出现的明显问题

1.场景中有太多的全局效果。全局效果很耗性能,不仅因为其本身对每个像素点进行计算比较耗,其次某些全局特效使得部分原先的优化措施失效了(比如加了景深效果会使原来的模型合并取消掉从而大幅增加DrawCall)。本次优化我看到有很多场景效果根本没有作用,是之前意识不够虽然知道加场景效果比较耗但是没有进行严格的把控。另外还要注意到Unity自己的反锯齿也是一种全局效果。

2.谢震将原来的雨雪粒子特效改成了模型+UV动画的方式,这个大大降低了性能开销,场景中用的雪是持续性的。如果是用粒子效果制作是十分消耗的,而用模型+UV动画的方式将此部分的消耗整整降低了一个量级。(具体的方法谢震有相关文章的链接)

3.脚印和哈气是必须用对象池的方式,这是必须的做类似功能只能用对象池。但是对象池中的初始对象也要尽量减少不要忽视。注意到切场景时要清掉对象池里的数据,否则将导致内存泄漏,表现上就是来回切场景后内存逐步消耗并没有回收,导致机器变卡

4.部分shader太复杂也导致消耗过大,比如场景中的水面积又大(面积大是不是会导致更大的性能消耗还不太清楚但感觉上是的)同时又有多个Pass(意味着增加几倍的渲染次数)而其制造的效果在我们场景里实际上并不是很需要(如我们场景里不太需要水具有反射折射的特点,所以这部分功能实际上并不需要),很多效果要根据场景中实际的需要做取舍,不能一味追求所有的真实效果。

5.Unity的新的后效库PostProcessing是比较费的,而我们所需要的效果通过Unity老版本的特效库也能实现,同时比较节约(这个我通过看Profiler和FrameDebugger分析得到,同时在网上咨询过他人确认过),所以向场景同学推荐了使用Unity老版本的特效库。

6.许多热点操作(耗费大量时间)应该尽量在加载时(读Loading条时)缓存数据,这样到实时应用的时候可以节省大量的时间,小镇切时段的瞬间非常耗但是通过缓存数据后原来的热点就消失了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值