Вот соответствующая документация Unity .
Согласно пояснениям на страницах документации Unity о статических GameObjects, иногда пометка GameObjects как статической может негативно повлиять на производительность (например, статическое пакетирование приводит к большему использованию памяти) .
Так, когда я должен точно хотеть использовать эти функциональные возможности?
Заранее спасибо.
Сноски: В
настоящее время я разрабатываю 2D-игру сверху вниз, в которой много спрайтов и линейных рендеров, но нет 3D-объектов (даже квадраторов). Все GameObjects создаются процедурно из готовых префабов. LineRenderers обновляются из сценариев каждый кадр. И почти все спрайты движутся постоянно. Большинство спрайтов используют один и тот же материал. Все LineRenderers также делятся своими собственными материалами.
источник
Ответы:
Не существует жесткого правила относительно того, когда вы должны или не должны делать GameObjects статичными.
По крайней мере, делайте это только для объектов, которые никогда не будут двигаться в течение жизни. Но вы должны знать, что он делает, чтобы оценить, стоит ли вам это делать.
Он замораживает сетку в данных сцены, поэтому у вас нет накладных расходов на GameObject для элемента. Это означает повышение производительности за счет изменения данных сцены во время сборки и дополнительных затрат памяти для окончательно созданного приложения.
Это хорошо во многих случаях, хотя это может вызвать проблемы, например, с лесами. Кроме того, это означает, что вместо однократного хранения вершин для дерева и копий чертежа графического процессора, он должен дублировать эти вершины повсюду. Это занимает время во время сборки и пространство в приложении. Наше приложение выросло с 3-4 ГБ до 300-400 МБ, когда мы сделали деревья не статичными. Время сборки ушло от 3-4 часов до 1 часа.
Сказав все это! Ваша игра 2D, и вам, вероятно, будет полезно установить GameObjects в сценах на статический, если у вас их нет.
источник
Если я скажу вообще, то все, что никогда не будет двигаться (даже пиксель) за всю жизнь приложения, должно помечаться как статическое. Обычно это полезно для запекания огней, для запекания дорожек и т.д.
Что ж, если вы разрабатываете без 3D-объектов, просто расслабьтесь и расслабьтесь. Не нужно беспокоиться о рендеринге в реальном времени, тенях или любых других проблемах. Даже удалить единственный свет приходит с новой сцены;)
Ну, любой может исправить меня, если я ошибаюсь в любом месте.
источник