Unity 实用技巧 之 数组清空new和Clear性能比较
1、打开Unity,新建一个空工程,具体如下图

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


3、对打开的“粒耻ArrayTest”脚本进行编辑,首先定义数组变量,然后通过不同次数调用函数,接着实现函数,在for循环中,进行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”脚本挂上去,具体如下图

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

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