Optimizing a Unity game, Part 1. Batching

  Рет қаралды 80,968

Insane One - Разработка игр

Insane One - Разработка игр

Күн бұрын

Пікірлер: 95
@Lord_of_the_Fridge
@Lord_of_the_Fridge 4 жыл бұрын
Класс. Отлично получается, продолжай в том же духе :) Самое необходимое, коротко и понятно.
@slava7522
@slava7522 4 жыл бұрын
*Для тех, кто использует URP/HDRP* Dynamic Batching будет находиться в последней вкладке созданного профиля рендерера
@maldok4087
@maldok4087 4 жыл бұрын
Спасибо, помогло
@dorian_erty
@dorian_erty 2 жыл бұрын
Где? Я не могу там найти
@necoray1302
@necoray1302 2 жыл бұрын
Большое спасибо, что упомянул эту фичу!
@alexkirra3802
@alexkirra3802 Жыл бұрын
Где-где?
@uralfansoft
@uralfansoft Жыл бұрын
Закрепите коммент пжлста
@МирославМалюсейко
@МирославМалюсейко 2 жыл бұрын
В игре процедурно генерируется данж из тайлов, потому было много раздельных объектов. Но одна только настройка динамического батчинга снизила батчи с 4-5к до 100-200. Вообще не ожидал такой разницы, так что большое спасибо.)
@who-1880
@who-1880 4 жыл бұрын
Ее чувак, спасибо. В игре на телефоне жутко лагало, ФПС упал до критический 3 ФПС. Ты спас ситуцию. Лайк и Подписка!) Было выше 700DC, стало не выше 500
@Netry27
@Netry27 4 жыл бұрын
Попал на видос в рекомендациях. Очень этому рад, теперь иду смотреть на батчинг во всех проектах. Жду новых видео и интересных тем. Подписка обязательная.
@ЕльХвойный
@ЕльХвойный Ай бұрын
Спасибо автору за освещение темы оптимизации
@schwut
@schwut 3 жыл бұрын
Чувак, офигенные видосы делаешь: кратко, емко, без воды, хорошая дикция - топ на русском ютубе, продолжай в том же духе!
@Kot-Alenya
@Kot-Alenya 4 жыл бұрын
Спасибо за видео, продолжай в том же духе! Удачи
@psy_gamer
@psy_gamer 4 жыл бұрын
Отличный ролик! Буду ждать новых)
@georgyushkevich8448
@georgyushkevich8448 Жыл бұрын
Если вы используете URP или HDRP и SRP Batacher (включен там по умолчанию) - то количество батчей перестает быть актуальным параметром. Ну и вообще использование батчинга легкое, только если у вас проект из кубов с одинаковым материалом. Если у вас сложная графика, то там уже всякие проблемы возникают - нужно минимизировать количество шейдеров и материалов в сцене, максимально использовать атласы - только тогда батчинг будет давать какой-то эффект ощутимый.
@Doolpany
@Doolpany 7 ай бұрын
Круто , но не хватает про mesh combiner и атласы для ui . Т.к ладно батчи уменьшать , но проблема идет от draw calls, если их уж слишком много , то буст небольшой даст , в 2 раза это максимум . Но вот если засунуть все меши в одну сетку , вместо 1500 draw calls будет один . Насчет динамических не уверен , решение для динамических в твоем видео оптимально , но все же это тоже можно скомбинировать .
@TheDeiw_0110
@TheDeiw_0110 2 жыл бұрын
Очень редко пишу коментарии, но огромное спасибо. Коротко, понятно и без воды. Продолжай в том же духе)
@dark_node6173
@dark_node6173 Жыл бұрын
Бро, это круто! Снизил батчинг с 1200 до 200-300, И снял нагрузку с гпу аж на 60%!!!!!! Просто Лайк, респект и уважуха!
@Woolf530
@Woolf530 5 ай бұрын
а фпс не изменился )) Потому, что для ПК что 300 батчей, что 1200 - ниочем, слишком мизерная нагрузка. Нормальная нагрузка в DC для современных видеокарт, это 3-8 тыс DC
@Ligul
@Ligul 4 жыл бұрын
Ого, весьма неплохой ролик! Я, пожалуй, даже подпишусь)
@Андрей-в7и6ь
@Андрей-в7и6ь 3 жыл бұрын
Очень полезная инфа, спасибо! лаконично, без растягивания времени, круто)
@CyberYurius
@CyberYurius 2 жыл бұрын
Спасибо за полезные уроки! Сними пожалуйста видео про оптимизацию и настройку проекта под андроид!
@thebad7628
@thebad7628 4 жыл бұрын
Огромное спасибо!!!
@gregorykl2317
@gregorykl2317 3 жыл бұрын
Круто! Спасибо! Понятно и интересно
@ОлексійВискворкін
@ОлексійВискворкін 4 жыл бұрын
В первую очередь оптимизация террейна под мобильные платформы)Интересно,может что нового узнаю.
@PavelStr-x5w
@PavelStr-x5w Жыл бұрын
Спасибо за урок!!
@АлексейЛебедев-ю4ж
@АлексейЛебедев-ю4ж Жыл бұрын
низкий поклон, вы супер!
@persontashik_z
@persontashik_z Жыл бұрын
Все поклонения только Аллаху!!!
@АйнурБижанова-б6у
@АйнурБижанова-б6у 3 жыл бұрын
Спасибо тебе продолжай в том же духе
@ОлегМашков-я8х
@ОлегМашков-я8х 4 жыл бұрын
Отличное видео.
@FONORX
@FONORX 3 жыл бұрын
Расскажите про коллайдеры. Как на сложную многополигональную модель добавить свой собственный простой коллайдер.
@call_me_ondreo
@call_me_ondreo 4 жыл бұрын
Чисто лукас
@mastervolodsobeck5176
@mastervolodsobeck5176 4 жыл бұрын
Супер, 100% огромное сенкс!
@Natharcheck
@Natharcheck 4 жыл бұрын
Лайк , подписка !!!!!!
@fantomsung1430
@fantomsung1430 Жыл бұрын
0:00 Я точна так-же думаю но не на Unity а на Unreal Engine
@mrgoodpeople
@mrgoodpeople 8 ай бұрын
Самое тормозное, что может быть в Unity, это если создавать например для каждого дерева отдельный GameObject. Вот тогда это будет ужасно глючить. Вместо этого нужно сделать всё в одном меше, где каждое дерево будет отдельным треугольником или их группой. Ну и т.п.
@КириллНекирилл-э4т
@КириллНекирилл-э4т 4 жыл бұрын
Благодаря этому видео я устроился миддлом+++++
@oleksandrmartysh7534
@oleksandrmartysh7534 2 жыл бұрын
А я сеньором. И мне сразу в первый день работы дали личный кабинет и Роллс-Ройс. очень полезное видео! )))
@АлексейЛебедев-ю4ж
@АлексейЛебедев-ю4ж Жыл бұрын
супер ролики а то все кругом как установить движок)
@electron4ik
@electron4ik 2 жыл бұрын
У меня изначально было 120 fps и 20 batches. Сейчас 150 fps и 12 batches. КРУТО РЕКОМЕНДУЮ!!!!!!!!!!
@ДневникЖижы
@ДневникЖижы Жыл бұрын
Dynamic batching сам по себе достаточно ресурсоемкий. В некоторых проектах он может ухудшить производительность.
@ПаутовНиколай-з1э
@ПаутовНиколай-з1э 9 ай бұрын
От статического батчинга сильно увеличивается размер билда, так что он не бесплатный и не всегда подойдет
@ademard
@ademard 4 жыл бұрын
Спасибо огромное! А стоит ли включать "GPU Instancing" для материалов статических объектов?
@insaneone-7220
@insaneone-7220 4 жыл бұрын
В общем, нет, но ничего плохого не случится если включить. Просто ничего не произойдёт, т.к. Static Batching работает отдельно.
@ХуТава-ц9н
@ХуТава-ц9н 3 жыл бұрын
Спасибо помогло с 150 до 300 фпс поднялося
@fcockroach
@fcockroach Жыл бұрын
@@kot-o-kot бред же, человек не написал что за проект. что за железо у него, какое разрешение экрана, может он там в 360п запустил игру с rtx 4090). На каком-то железе эти цифры могут быть ниже. Не у всех же топовое железо. Так что увеличение производительности в 2 раза еще как имеет смысл, особенно с минимальными трудозатратами. Больше людей сможет сыграть в игру, меньше будет негативных отзывов про оптимизацию.
@fcockroach
@fcockroach Жыл бұрын
@@kot-o-kot это шутка?), если игра идет в макс 60 фпс на 360п, то в 1080 она будет идти 30-40фпс, возможно даже хуже, у человека же х2 производительности и неважно 150 там было или 30, важен множитель/процент. Господи, речь идёт о разработке игр, если у конечного пользователя игра идет в максимум 60фпс, то без этих настроек шла бы намного хуже, это очевидно ведь. Удачи
@mrgoodpeople
@mrgoodpeople 8 ай бұрын
Кстати у меня у одного статистика в Unity довольно бесполезная в плане FPS, потому что очень сильно плавает в зависимости от того, какой объекты выделен в сцене и свойства которого отображаются справа. Я заметил, что при полном снятии выделения FPS может быть ниже, а если выделить какой-то (непонятно даже какой) объект, то FPS вдруг резко повышается, иногда в 1.5 раза, а порой и в 2. Вообщем окно статистики ведёт себя очень странно.
@mrgoodpeople
@mrgoodpeople 8 ай бұрын
Со свойствами Static может быть вот какая проблема. Представьте, что у вас например ависимулятор. Ваш самолёт быстро пролетает тысячи метров. Это приведёт к проблемам с дрожанием камеры. Что делают? Ну обычно все объекты помещают в общий контейнер и периодически его смещают, чтобы координаты камеры не были очень большими. Дрожание пропадает. Но ведь в этом случае у нас ВСЕ объекты на сцене перестают быть статическими, что делать в таком случае. Поможет ли кратковременное (на один кадр) снятие через код свойства Static и возвращение его обратно, чтобы Unity всё правильно обработал?
@DaS_10
@DaS_10 11 ай бұрын
0:53 то чувство когда у тебя 20к+
@skt5659
@skt5659 4 жыл бұрын
Почему то очень сильно растет вес apk файла, если делать неподвижные элементы статическими(
@Гыгы
@Гыгы 4 жыл бұрын
Enable GPU Instancin можно включать для всех материалов, или только для тех, которые используются на динамических объектах?
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Желательно только для тех, которые на динамических объектах. На статические объекты включение не должно влиять в принципе, т. е. можно было бы включить для всех, но у меня несколько раз было странное поведение статики с этой галочкой, поэтому я не включаю для неё в своих проектах обычно.
@VolkGam
@VolkGam 3 жыл бұрын
Спасибо! Не знаете, можно ли написать скрипт, который пробежится по всем материалам проекта и установит галочку Enable GPU Instancing? А то это нереально сделать вручную... ) Ща прогуглю...
@frendis9787
@frendis9787 2 жыл бұрын
и что там ?
@spiritofancientwherewolf149
@spiritofancientwherewolf149 Жыл бұрын
Херасе ты молодец. Научил инстансингу. Кролик да будет тебе известно что ты не динамический батчинг в GPU inctancing включаешь а включаешь его под конкретный шейдер это раз! А во вторых ты его банально включаешь для статика на данном материале. Покажи магию динамика батча на 2000 персонажей одновременно. Что за бред ты вообще несешь.
@glorytoukraine429
@glorytoukraine429 3 жыл бұрын
Если честно, то после всего этого количество батчей как было так и осталось, а вот ФПС с 450 упал до 160...
@Douks
@Douks 3 жыл бұрын
А я не понял, что означает "Saved by batching"?
@ShiroKira-j2o
@ShiroKira-j2o 4 ай бұрын
Здравствуйте. Нужно ли включать static batching у родительского объекта в котором дочерние двигаются? и наоборот если родительский объект двигается, а дочерние не двигаются.
@insaneone-7220
@insaneone-7220 4 ай бұрын
Включать только у статичных объектов. Если дочерние двигаются - скорее всего, смысла включать нет.
@TheFenix717
@TheFenix717 2 жыл бұрын
Я не пойму, помоги пожалуйста! У меня в static пишется: Batches 250, FPS:350, ничего не тормозит, но при этом видюха нагевается до максимум, вентиляторы начинают работать как двигатель самолёта! В чем проблема??
@SezKiTo
@SezKiTo Жыл бұрын
Устройство обрабатывает больше, чем должно, а может проблема с оборудованием, или драйверами
@stasonick
@stasonick Жыл бұрын
сделай ограничение FPS
@FAKKER_rap
@FAKKER_rap 6 ай бұрын
Окуклинг Куколдинг каждый раз забивает папку Occlusion миллионами файлов которые нужно удалять по часу вручную 👍 чтобы на 97% не застревало
@gomandobry
@gomandobry Жыл бұрын
Насчет тормознутости не знаю. Постоянно чекаю разные инди игры на анриале. Вот что реально жутко лагает и спайкает, а игры на юнити как правило хуже выглядят но стабильно работают. Я не говорю что анриал тормознутый, просто начинающие разрабы парой кликов бездумно накручивают графику
@yingwai8668
@yingwai8668 Жыл бұрын
От куда у тебя +100 фпс? У меня лимит в 75, и нигде не могу найти как его отключить. Помогите!
@nikart2502
@nikart2502 3 жыл бұрын
а это нормально, что у меня показывается 1200 фпс?)
@insaneone-7220
@insaneone-7220 3 жыл бұрын
Нормально, но лучше использовать Application.targetFramerate, чтобы ограничить это значение и не использовать лишние ресурсы устройства. Ну и да, этот вариант оптимизации при таком fps вряд ли нужен)
@nikart2502
@nikart2502 3 жыл бұрын
@@insaneone-7220 спасибо
@hagwe
@hagwe 2 жыл бұрын
Static batching и динамик не работает почему то в URP. Saved by batching всего равен нулю. В чем причина?
@insaneone-7220
@insaneone-7220 2 жыл бұрын
Если не ошибаюсь, там батчинг работает по-своему и в этом окошке результаты его работы не отображаются. Нужно использовать инструменты URP для этого, но я не подскажу как их найти, т. к. не пользуюсь URP)
@hagwe
@hagwe 2 жыл бұрын
@@insaneone-7220 да я уже нашел инфу. Оказывается в новых версиях URP есть SRP Batching который как раз всё делает сам. И инфа о его работе в Stats не показывается, но фпс выше. Пробовал отключить SRP и Saved by batching сразу заработал в статистике ,но фпс чутка упал. Т.е. получается сейчас система работает немного по другому, но лучше чем было раньше.
@pccompanysimulatorproject4802
@pccompanysimulatorproject4802 3 жыл бұрын
У меня батчингом удалось добиться с 30fps до 58
@СергейКихно-ж9ы
@СергейКихно-ж9ы 4 жыл бұрын
нормас
@georgii_
@georgii_ Ай бұрын
У меня максимум 30 фпс помемуто
@ДанилЛиверный
@ДанилЛиверный 5 ай бұрын
300-500? Я со своими 170000
@MrFelsS
@MrFelsS Жыл бұрын
Разрабам ЕФТ над отправить
@БольнойУёбок
@БольнойУёбок 2 жыл бұрын
Хз у меня конечно не лагало но как было 691 так и осталось
@pepzzey9143
@pepzzey9143 3 ай бұрын
спасибо, фпс упал с 100 до 60👍
@pccompanysimulatorproject4802
@pccompanysimulatorproject4802 3 жыл бұрын
У меня из за бага при запуске моей игры просто логотип unuty белый и фон белый. И получается ,что просто белый экран ,а понять то что игра на unity сложно
@МинМин-о8т
@МинМин-о8т 3 жыл бұрын
Измени цвет надписи unity на чёрный. Или фон свой нарисуй
@vasyljrorshak7455
@vasyljrorshak7455 2 жыл бұрын
Ололо, не надо снимать о том о чем вы не понимаете либо не договариваете. Всем непонятливым читать справку про статический батчинг, и что будет если включить в него густой лес или приведи господи траву. Оно работает при целом ряде условий, если условия не те что надо, то вместо оптимизации получите окирпичивание, что собственно можно наблюдать в Planeta Nomad, это раз. 2 это то, что пока у вас стабильный нормальный фпс не насилуйте рабочую игру оптимизацией. Хотите оптимизировать, прикрутите к объекту лод, Выключите нпс которые далеко от персонажа.
@gameplaystories4130
@gameplaystories4130 4 жыл бұрын
До твоего видео - 500 фпс, после - 350, спасибо блен
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Если недостаточно разобраться в вопросе и не такое может быть)
@gameplaystories4130
@gameplaystories4130 4 жыл бұрын
Insane One - Разработка игр Друг мой, у тебя у самого фас увеличился лишь на 10
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Конечно, это пример с простыми моделями, на которых нет материалов с несколькими видами текстур, как в любой хоть сколько-то серьёзной игре. Принимай это во внимание.
@gameplaystories4130
@gameplaystories4130 4 жыл бұрын
@@insaneone-7220 Просто у меня почему-то 400 фпс вместо 1600 и я никак не могу понять, почему
@insaneone-7220
@insaneone-7220 4 жыл бұрын
@@gameplaystories4130 если у тебя было 1600 до оптимизации, то вероятно, что пока в проекте ничего оптимизировать и не надо) Любой алгоритм оптимизации ведь тоже требует вычислительных ресурсов на свою работу.
@vg-vovagatova289
@vg-vovagatova289 Жыл бұрын
У меня очень сильно грузит процесс: semaphore.waitforsignal У меня игра для пк, как мне исправить это? Потому что-то больше 30%+
Оптимизация игры на Unity, часть 2. Terrain
5:23
Insane One - Разработка игр
Рет қаралды 47 М.
Unity Performance Tips: Draw Calls
4:24
Lofi Dev
Рет қаралды 192 М.
哈哈大家为了进去也是想尽办法!#火影忍者 #佐助 #家庭
00:33
Стойкость Фёдора поразила всех!
00:58
МИНУС БАЛЛ
Рет қаралды 5 МЛН
Как ОПТИМИЗИРУЮТ ИГРЫ
11:00
Atix
Рет қаралды 375 М.
Оптимизация игр на unity. Material instancing
8:19
Максим Крюков
Рет қаралды 18 М.
Оптимизация игры на Unity, часть 3 - Код. Profiler
6:37
Insane One - Разработка игр
Рет қаралды 36 М.
Оптимизация игры на Unity. Физика
14:45
Night Train Code
Рет қаралды 11 М.
Оптимизация игры на Unity, часть 4 - Интерфейс. Sprite Atlas
4:54
Insane One - Разработка игр
Рет қаралды 29 М.
哈哈大家为了进去也是想尽办法!#火影忍者 #佐助 #家庭
00:33