Вот простой код проверки:
- Код: Выделить всё
delegate void TEst0();
TEst0 t0, t1, t2;
void Start ()
{
t0 = new TEst0(Reaction);
t1 = new TEst0(Reaction);
t2 = new TEst0(Reaction0);
t1 += t2;
float startTime = Time.realtimeSinceStartup;
for (int i = 0; i < 1000000; i++) t0();
Debug.Log("1 delegate : " + (Time.realtimeSinceStartup - startTime));
startTime = Time.realtimeSinceStartup;
for (int i = 0; i < 1000000; i++) t1();
Debug.Log("2 delegate : " + (Time.realtimeSinceStartup - startTime));
}
void Reaction()
{
}
void Reaction0()
{
}
Вот, что мы имеем на выходе :
В обычном приложении, это не смертельно. Но, если код нагрузный, то лучше помнить об этой особенности.