[Unity]Unity性能优化实战之GC优化(序)

本文介绍了在Unity游戏中进行GC优化的重要性,通过使用Unity的Profiler工具来监测和优化。作者强调,频繁的GC会导致游戏卡顿,优化重点包括Update中的GC避免和游戏对象缓存池。更新循环中的0GC是确保游戏稳定运行的关键,GC主要由新建类、装箱拆箱、字符串操作和匿名函数(尤其是闭包)引起。在设备上验证GC优化效果至关重要。
摘要由CSDN通过智能技术生成

近期项目即将上线,为了抗住数量众多的玩家,流畅的进行多人同屏对战,我们不得不对游戏进行一次彻底的优化。

这个系列就是我对于此次优化的一些总结吧。

首先优化是足够了解原理的基础上并且辅以相应的工具才能顺利进行,在优化GC里,我们用到了Unity自带的Profiler,这是一个非常优秀的工具,不仅仅支持编辑器下的调试,还可以看到在设备上的信息。


那么,为什么要进行GC优化呢?

因为GC积累到一定的量,Mono会自动回收内存,当自动回收的时候,会造成一定的卡顿,如果GC产生的速度非常快,这个过程就不断频繁的发生,就会导致游戏不停的卡顿。


关于GC优化,我认为有两个部分是GC优化的重点:

1.Update中的GC优化

2.频繁使用和销毁的GO的缓存池


最终的目的就是,我们希望尽可能的把Mono自动回收内存这个过程放到加载中做,游戏正常运行中尽量干掉这个玩意。


先说说Update中产生的GC,Update中的GC是非常重要的而且是可以完全避免的,很多说到优化的文章都会写到,如果Update中有10K的GC的话,每秒60帧,就有600K的GC,每分钟36M,这是一个非常恐怖的量级,所以0GC的Update是游戏稳定运行的核心。


再说说GC产生的原理,很简单:向堆里申请内存

无论是通过哪种途径产生的GC,原理都是向堆里申请内存。


另外GC的产生方式有下面几种:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值