// А
IEnumerator Loop()
{
while (true)
yield return new WaitForSeconds(1f);
}
// Б
private WaitForSeconds _wait = new WaitForSeconds(1f);
IEnumerator Loop()
{
while (true)
yield return _wait;
}
// В
IEnumerator Loop()
{
while (true)
yield return null;
}
Какой из паттернов аллоцирует при каждой итерации цикла?
Варианты:
а) Все три — любой yield return создаёт нагрузку на GC, разница только в частоте - 🤷♂️
б) Только А — Б и В эквивалентны по аллокациям между итерациями - 🤷♀️
в) А и В — Б единственный который не аллоцирует повторно - 🤷
Ответ вечером 🙂
#задачка #unity #оптимизация