Здраствуйте такой вопрос появился в команде. Один считает что надо

делать всë через скрипт и надо всегда использовать getComponent<>() для получения компонента а другой говорит что надо использовать атрибут [SerializedField] и назначать перемнную через инспектор (там он ещë показывал что через OnValidate() метод можно) мол через getComponent игра назначает при запуске из-за чего игра будет дольше загружаться. Вопрос является ли из этого что-то плохой практикой, а так-же реально ли игра начнëт дольше запускаться если сделать по типу 1000 GetComponent<>()? И можно ли использовать и то и то в одном проекте, будет ли это считаться разными стилями и ухудшением чтения скрипта?

10 ответов

19 просмотров

Смотрий скорасть загрузкий уменшиша не сверх значително тип пару милисекунд а вот начот вибора нечиво не посоветую

Ну,хз. Если думать логически, то те компоненты которые могут удалятся во время игры лучше через гет, но так то это не очень влияет

GetComponent тяжёлая операция, все, что можно - лучше прокидывать руками через инспектор

Если у тебя 1 уровень, то можно и ручками, иначе проще найти все компоненты через getComponent и закешировать. Один раз вызвать это норм. Можно даже искать объекты через Find. Нельзя делать это в Update.

Nikita Andrushko
GetComponent тяжёлая операция, все, что можно - лу...

Для рантайма тяжелая, на инициализации почему бы и не использовать?

Если например, ты спавшнишь 1000 объектов, у которых в Awake GetComponent, то лучше через инспектор прокинуть.

Bukowski
Для рантайма тяжелая, на инициализации почему бы и...

Зачем накладывать дополнительную нагрузку на инициализацию? Если у вас спаунится 1000 юнитов и у них в старте один геткомпонент, то вот вам и 1000 вызовов в рантайме. А если в юните два вызова - две тысячи и тд

Nikita Andrushko
Зачем накладывать дополнительную нагрузку на иници...

ну загрузится у тебя игра не за 0,5 секунды, а за 1 на скрине 2000 гет компонентов занимают 8 мс

Геткомпонент оч прожорливый, если поля не назначаются динамически, то лучше через инспектор протягивать

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта