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

来源:互联网 发布:国泰安金融数据库 编辑:程序博客网 时间:2024/06/05 08:09

首先说一下非常简单的New GC,创建一个类

    public class A    {        string b;    }

在Update函数中这样调用:

void Update () {        UpdateNewGC();    }    void UpdateNewGC()    {        A a = new A();    }

会产生GC吗?

答案是肯定的,基于对真理的孜孜不倦的追求,我们用Profiler观察


那么要如何避免掉这个GC呢?

首先,确定这个类是不需要拷贝的,或者深拷贝的开销比较少,然后我们把class改成struct就可以了,因为结构体是在栈中申请内存的,函数结束结构体就释放内存了,不会产生GC,如下:


这是关于最简单的New出来的GC的避免方式,一般项目中,这种GC是最容易干掉的,但是项目中还有许多地方根本无法发现真正的GC从哪里冒出来,如果想深入研究,就继续看下去吧。

0 0
原创粉丝点击