Софтуерно Инженерство
Loading...
ViktorDimitrov avatar ViktorDimitrov 0 Точки

Няколко скрипта закачени за един GameObject

Проблем (или лоша практика) ли е да имаме два и повече скрипта закачени за нашия GameObject, във всеки от които има Update() метод(съответно всеки скрипт отговаря за различен behavior на обекта) и в случая ще си пречат ли Update-ите? 

Тагове:
0
Unity 3D 07/07/2017 12:38:46
flareset avatar flareset 140 Точки
Best Answer

Ще товарят повече, но колко - зависи какво има в Update на тия скриптове. Забавянето може да е пренебрежимо малко, може и да доведе до голям спад на кадрите. От моят малък опит съм стигнал до нагласата, че е по-добре да има Update само в един скрипт, който да се ползва и от другите скриптове.

0
ViktorDimitrov avatar ViktorDimitrov 0 Точки

Тоест само един ъпдейт за цялата сцена?

0
flareset avatar flareset 140 Точки

Да, така е по-добре, но дали за конкретния случай си заслужава.  Специално за курса - едва ли, но е добра практика.

0
ViktorDimitrov avatar ViktorDimitrov 0 Точки

Супер, мерси.

0
yasen.dokov avatar yasen.dokov 2 Точки

Това да имаш само един Update звучи като малко излишна оптимизация (особено за курса, но не само), освен ако нямаш наистина много скриптове/обекти. Разликата за малко на брой скриптове е пренебрежима, а правейки го с един Update, вероятно ще си създадеш излишна работа/проблеми, без да има реална полза.

Edit: Всъщност, за да е полезна оптимизацията, май трябва да имаш хем много, хем прости (съизмерими със самото извикване на Update) скриптове, защото иначе ще е незначителна.

0
09/07/2017 03:14:34
flareset avatar flareset 140 Точки

Да, затова за конкретния случай трябва да се прецени дали е нужна такава оптимизация. За малък брой обекти с несложни изисления ще е незначително, но на сто и нагоре, с  ъпдейт във всеки, вероятно ще се наложи  Има разлика и дали приложението ще е за настолен( мощен) компютър или за телефон. В Profiler може да се правят справки колко товарят ъпдейтите от всеки скрипт и да се реши.

0