Unity 实用技巧 之 数组清空new和Clear性能比较

2025-10-31 10:22:56

1、打开Unity,新建一个空工程,具体如下图

Unity 实用技巧 之 数组清空new和Clear性能比较

2、在工程里面新建一个脚本,脚本命名为“ArrayTest”,然后双击脚本或者右键“Open C# Project”打开脚本,具体如下图

Unity 实用技巧 之 数组清空new和Clear性能比较

Unity 实用技巧 之 数组清空new和Clear性能比较

3、对打开的“粒耻ArrayTest”脚本进行编辑,首先定义数组变量,然后通过不同次数调用函数,接着实现函数,在for循环中,进行new或Clear操作,最后比对二者所耗费的时间,代码和代码说明如下裁蹲图

Unity 实用技巧 之 数组清空new和Clear性能比较

4、“ArrayTest”脚本具体内容如下:

using UnityEngine;

using System;

public class ArrayTest : MonoBehaviour {

    byte[] arrayTest = new byte[1024];

    // Use this for initialization

    void Start () {

                ArrayClearNew (10);

        ArrayClearNew (100);

        ArrayClearNew (1000);

        ArrayClearNew (10000);

    }

        // Update is called once per frame

     void Update () {

                  }       

    private void ArrayClearNew(int count) {

        DateTime t0 = DateTime.Now;

        for (int i = 0; i < count; i++) {

            arrayTest = new byte[1024];

            arrayTest [2] = 1;

        }

        DateTime t1 = DateTime.Now;

        for(int i = 0; i< count; i++) {

            Array.Clear (arrayTest, 0, 1024);

            arrayTest [2] = 1;

        }

        DateTime t2 = DateTime.Now;

        print 辞泥泪("New 用时"+ (t1 - t0));

        print ("Clear 用时"+ (t2 - t1));

    }

}

5、甲苯编译正确,回到Unity,在场景中新建一个“GameObject”,然后把“ArrayTest”脚本挂上去,具体如下图

Unity 实用技巧 之 数组清空new和Clear性能比较

6、运行场景,即可看到二者在不同循环次数下所耗费的时间,结果可以看出Clear的性能要优于new的,具体如下图

Unity 实用技巧 之 数组清空new和Clear性能比较

7、到此,《Unity 实用技巧 之 数组清空new和Clear性能比较》讲解结束,谢谢

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢