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

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

10 ответов

16 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
)) может, нужно поправить? )) 2. Ребята, нам нужно, чтобы сообщения из Инстаграм приходили в ОДУ. Какое приложение посоветуете?
Alexander Sharoiko MSE / Александр Шаройко
1
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
Всем привет! Взялся портировать модули на 18 версию, лезет _logger.log(log_level, 'no translation language detected, skipping translation %s', frame, stack_info=True) А чт...
Max Lit
3
И? Все равно глазами проверять надо каждое поле
Andrii Kurdiumov
4
Карта сайта