Оптимизация корутины, которая вызывается каждый кадр

Раздел, посвящённый самому важному - скорости.

Оптимизация корутины, которая вызывается каждый кадр

Сообщение gnoblin 16 мар 2010, 11:10

Суть фишки сводится к следующему...
Если мы делаем
Код: Выделить всё
yield return 0;
в корутине - то происходит boxing нуля, зря выделяется память.
А если написать
Код: Выделить всё
yield return null;
то это становится чуууточку экономнее.
Если часто использовать - а я лично использую часто-часто, то взять на заметку этот момент полезно.

http://eej.dk/angryant/general/tipsandt ... ding-in-c/
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Оптимизация корутины которая вызывается каждый кадр

Сообщение gnoblin 16 мар 2010, 11:11

Комментарий к этому посту на блоге AngryAnt'а
Ashkan:

i tested this with 5000 objects that they are simple spheres. i made 2 components that they have one coroutine with two lines of code.
the FPS with return 0 is 200 but with return null is 230.
this is the coroutine

IEnumerator test2()
{
while (true)
{
transform.Translate(Random.Range (-30,30),0,0);
yield return null;
}
}
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт


Вернуться в Оптимизация

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3