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

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

10 ответов

9 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
а я честно сказать не понимаю - нахуя идти учиться на вышку или еще куда-либо и при этом нихуя не делать, типа зачем ? просто корку получить, а нахуй она нужна тогда ?
Eugene Неелов
7
А сколько часов мак держит зарядку в рабочем режиме? Например мой Redmi Mac (просто наклейка от айфона осталась, налепил) по началу держал часов 5 с парой открытых штормов и ...
Ross
8
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
Ребят, было ли у вас так, что переменные в WebApp —tg-viewport-height, —tg-viewport-stable-height после метода expand не обновляются, а остаются в размерах, как было до expand...
Black
3
зараз якщо створити файл core/custom/define.php з текстом <?php const NO_SESSION = true; можна позбутися сесійних кукі (що зручно, щоб не показувати людям банери про збір та в...
Artur Kyryliuk
1
Карта сайта