using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Profiling;
namespace MyTest
{
public class TestComponent : MonoBehaviour
{
public int TestCount = 10000;
void Start()
{
}
void Update()
{
Profiler.BeginSample("GetByGeneric");
GetByGeneric();
Profiler.EndSample();
Profiler.BeginSample("GetByTypeCast");
GetByTypeCast();
Profiler.EndSample();
}
void GetByGeneric()
{
for (int i = 0; i < TestCount; i++)
{
MeshRenderer a = GetComponentInChildren<MeshRenderer>();
}
}
void GetByTypeCast()
{
for (int i = 0; i < TestCount; i++)
{
MeshRenderer a = GetComponentInChildren(typeof(MeshRenderer)) as MeshRenderer;
}
}
}
}
经过测试,发现通过泛型Get组件和通过类型转换Get组件性能差不多,甚至类型转换方式还要更优,神奇!