Можно добавить, что мип маппинг не только снижает разрешение текстур, но и убирает мерцание на большой дистанции, когда плотность пикселей текстуры становится больше плотности оных на мониторе. То есть не только производительность, но и корректное отображение.
@@veatix4291согласен, потому что, как мне кажется, мир игр держится только благодаря инди. для меня все игры крупных корпораций такие... шаблонные. в каждой открытый мир, шутер, стелс, кутэе, феминистки, лгбтшники и т. д.
@@UntoldLonelyДля ПК есть расширение, для Android есть Revanced TH-cam (считай платный Ютуб , с вырезанной рекламой как от самих блогеров так и от Гугла), в котором показываются дизлайки
Отличное видео. По ресурсам есть небольшое уточнение. Пример там неудачный. Никто, конечно, не будет загружать и выгружать пулю из памяти каждый раз. Обычно для таких объектов (которые часто необходимы в игре и которых много: пули, враги, etc) используется "пул объектов". Это когда объект не удаляется из памяти, а "скрывается" от глаз игрока. И уже затем, когда пуля вновь необходима - используется "скрытая". Таким образом избегаются частые обращения к медленной памяти, а некоторый запас пуль постоянно лежит в RAM.
Это под капотом движка происходит? В юнити обычно projectile уничтожают после попадания в что-то, либо после таймера - объект исчезает со сцены. Но объект не скрыт от игрока, он просто не существует как объект, но он есть в виде префаба. Получается автор прав🤔 Насколько помню, в некоторых движках есть пулы объектов, из которых нужный объект в нужное время телепортируется. То есть объект существует на сцене, но скрыт.
@@Долой_Уныние нет, это пишется руками программиста. По крайне мере, если мы говорим про юнити. В обычной ситуации, конечно, снаряд уничтожают после попадания. Но если мы хотим оптимизировать нашу игру, то пул объектов является одним из инструментов оптимизации. И, поскольку видео об оптимизации, я и обратил на это внимание.
@@Долой_Уныниепреваб является лишь ассетом в проекте, т.е до инстанта он не находится на сцене. Создание стрельбы всегда требует создания обжект пула.
По поводу динамического удаления объектов - в качестве оптимизации как раз наоборот можно не удалять объекты, а просто прятать и переиспользовать снова, потому что и создание, и удаление объекта - это довольно дорогие операции
Смотря как он используется. Если движок подгрузил какой-то аудио клип который используется лишь однажды (например OST по время загрузочного экрана), то конечно, было бы хорошо удалить этот клип из памяти после завершения загрузки. Хотя, большинство движков не грузят аудиоклипы целиком и полностью, а стримят их по 10-15 секунд. Во всяком случае, это уже ответственность разработчика игры, а не движка - удалять или не удалять объект
Было интересно послушать о оптимизации не только со стороны кода. Кстати касаемо него. В оптимизации кода есть огромное кол-во ухищрений. Например большую часть физики обычно детерминируют, т.е. делают не привязанной к физическому движу. Это особо заметно,например в ассасинах, когда при прыжках, герой прилипает словно магнит к ближайшим усьупаи. Тоже и в боёвках. Например в солс лайк играх популярна механика парирования. Она реализована не через проверку пересечения коллизий оружия, а через банальные тайминги удара. Игра сравнивает время когда противник и игрок начали атаку для пониания было ли парировние, именно поэтому иногда анимации не соответствуют действиям персонажей. В общем, код тоже интересный пласт в плане оптимизации.)
@@Nikitunr2013 ну почему. Те же лоды, ужимание карт нормалей и прочих материалов, работа со светом, динамическая подгрузка/выгрузка частей мира - это всё вполне себе работа и с кодом
@@JamesListener это всё можно настроить в интерфейсе движка. Называть это работой с кодом, как называть вождение машиной до магазина - работой ремонтника.
Дааа, тебя бьют режущим мечом метра так 5, а ты делаешь УВОРОТ от него, хотя сама текстура меча проходит через твоего перса)) Соулс вообще не логичная в плане драк игра. Извиняться за обиженок не буду
10:12 В Half-Life 2 лучшая оптимизация. Карта распределена на кучу мелких сцен с скриптами, уже само по себе позволяет детализировать карту очень сильно и при этом не нагружать сильно комп огромной картой, ведь она очень быстро сменяется другой. Также, если не ошибаюсь, в игре есть система «ожидания» действия, а не проверки, то есть система ждёт, пока игрок что-то сделает, например подойдёт в область, где срабатывает скрипт. Это позволит убрать проверку нажатия чего-либо, а просто сделать анимацию и зону со скриптом. Также есть Mesh и NAV-карты для NPC и скриптов. Это хорошая оптимизация для ИИ, он будет не анализировать в реальном времени, куда идти, а заранее просчитать путь, быстрый путь до нужной точки, и пойти туда, хотя зачастую это в играх на основе Half-Life 2 упускают, из-за чего игры не особо оптимизированы. Как тот же Garry’s Mod. В то время как в Half-Life 2 на одной карте может быть FPS 200, а в Garry’s Mod FPS 20.
Не знаю как сейчас, но раньше это умели делать. Понял я это, на примере spec ops the line. За полем зрения игрока, разработчики просто срезают целые локации и карты. Это заметно, если использовать свободный полет (мод), то есть, как только игрок попадает вне поле зрения какой либо локации, куда он не вернется, либо вернётся со временем, то разрабы просто вырезают всю комнату. Ни декалей, ни нпс с рендоллами, ни каких предметов. Просто пустая комната. А иногда и без комнаты. И ведь это будет на протяжении всей игры, а сама игра при этом будет работать в стабильные 60 ФПС без фризов. Наверное это и есть - оптимизация.
Это хорошее вводное видео, рассказывающее о том, какие способы оптимизации в играх вообще существуют, но не вдающееся в детали каких-либо отдельных способов.
Лоды и без нанита давно делаются автоматически, не в ручную, в ручную только допиливались. Но в остальном- база, хорошая база для понимания о чём почитать. Молодец, если будут ролики с примерами использования, буду рад посмотреть.
Удивительно хороший контент. Хоть я и не имею отношения к разработке игр, но смотрел крайне внимательно, ибо сам играю и тема способов оптимизации достаточно интересна. Я практически никогда не ставлю лайки и не пишу комментарии, но после просмотра видео появилось желание таким образом отблагодарить автора. Спасибо за разнообразие в унылой ленте рекомендаций.
Конечного пользователя парить не должно что там происходит. У них бл*дь нормально половина кода не работает. Лоды говна, когда у тебя на дргом конце карты отрисовывается какая-то ненужная херь и тд. Да и клиенту большенство штук нахер не надо. Зачем мне на клиенте инфа о луте больше чем в 40 метрах от меня, не в поле зрения? Это все отмазки для ленивых@@ixont_chmo
Я как разработчик игрового 3D движка могу сказать что в большинстве случаев в видео все правильно сказано. Агрессивный лодинг, оптимизация света (в особенности), правильное управление потоками CPU реально помогают уменьшить время кадра. Только 2 единственных момента, но это по мелочи - camera culling называют frustum culling, и еще - не mesh shEders, а mesh shAders, хотя я уверен что это просто опечатка)) я как раз эти меш шейдеры щас реализую в своем движке
Очень интересно... Красавчик) с меня лайкос! Но вот с головой ты перебрал у меня складывалось такое ощущение что она вот вот отвалится даже немного было страшно😅
одна рекомендация (без негатива) - когда включаешь камеру на себя то ощущение что я смотрю какойто цирк и аттракцион с главным исполнением в виде твоей головы, слишком много лишних движений + они почти одинаковые, что создает ощущение что любой кадр с твоей вебкой на себя банально зациклен, эмоции +- также одинаковые, но это не то чтобы минусы или плюсы, просто слишком бросается в глаза то, что вербальная информация никак не соответствует невербальной, много экспрессии, много невербальных акцентов и лишних телодвижений. И нет, это не "я так делаю я так общаюсь", это прекрасно видно что (без негатива) наиграно, поэтому ну, я лично моменты где ты включал вебку просто пропустил потому что я устал смотреть это. Остальный контент лайк +
Бро, вербальная информация не совпадает с невербальной? Больше половины видео состоит из картинок/футажей из движков Все важные моменты, как полигоны(00:30, 00:32, 00:50, 01:20), LOD-ы (01:29-02:07), копирование (02:14-02:29) моделек, качество (02:49-03:18), текстуры (03:20-04:05) материалов, распространение освещения(04:32-05:02), симуляция(05:42-06:42), ресурсы (полностью) и т.д. показаны идеально. Вся важная информация была с излишком показана с помощью картинок, причём сильно заметно, что большинство футажей, как с движком, анимацией с текстом и т.д. он делал сам В моментах когда он включает вебку вообще нету информации, которую надо было бы показать через картинки и т.д. Зачем и как ты покажешь то, что студия ставит своим приоритетом скорость разработки, вместо оптимизаций Жестикуляция, эмоциональность бросается в глаза? Круто, так автор общается. Каким образом тебе это мешает информацию воспринимать? Не нравится? Смотри тогда куда-нибудь в другое место, когда у него включена вебка Ты по факту, обесценил труд автора, который сам делал большинство "вербальной информации" сказав, что он слишком часто появляется в кадре и что он слишком эмоциональный
Отличное видео, начинается с общеизвестных фактов, чтобы зацепить пониманием побольше аудитории. На всём протяжении прекрасная музыка на заднем фоне и своевременные вставки с красивым кадром лица автора. Респект тебе автор за такие старания, давно я не видел новых КаКо (качественного контента) производителей на ютубе 🙃😉 Давай в том же духе!
Если собираешь идеи для видео, то мне лично очень бы понравился разбор механики атаки в и играх (ближнего и дальнего боя, боя на мечах, рассказы про хитбоксы, системы попаданий в разных движках, регистрации на сервере и тд) или хотябы инструкцию как сдеоать простенький файтинг)))
как оптимизируют игры? сейчас походу никак. сейчас вместо этого предлогают включить dlss или генерацию кадров. ну или как тод говард говорят- у нас все отлично, а у вас просто компы слабые.
надо раскрыть эту тему не на 5 мин, а на пару часов с примераи и разбором каждой части, например есть еще bsp, bvh... сделать сравнительные тесты про приросту. рассказать о стрктурных проблемах, паттернах когда в одном случае это актуально, в другом иное. Профессионально подойти как к докладу, без пафоса
Я тоже желаю хорошей оптимизации жизни, потому что от вашей оптимизации будет зависеть какой пакет данных мы получим на выходе... Идеал - цель не достижимая, цель всегда меняющаяся по возможностям и приоритетам. Не стремитесь к идеалу, но стремитесь к балансу под требуемую среду. (это всё очень актуально каждую секунду нашей жизни. Нас самих и нашей ответственности в облике живого существа, будь то для начала домашний питомец или маленький человечек...неправильное планирование и распределение ресурсов может иметь печальный характер, но разной степени возможности исправить всё с меньшими или большими затратами или вообще оказаться в терминальной стадии точки невозврата. Цените эту жизнь и каждое её мгновение)
для тех кто решил что пулю лучше скрыть чем удалить. Ну начнем с того что есть 2 типа удаления, выпилить из памяти видеокарты и выпилить из логической обработки. для игрока эффект будет одинаковый, для системы во втором случае использовать 0,1, 1000 пуль разницы большой не будет если движок правильно написан
Прекрасная подача и голос. Очень интересно и понятно. Термины, изображения и видео. Все очень интересно. От начала и до конца не заметил как все просмотрел. Спасибо
Приведу дичайший пример, который меня как-то давно шокировал: допустим, в игре есть камень. Обычный. Вы взяли камень и положили его в ящик. С этого момента игра начинает проверять 60 раз в секунду, что камень в ящике всё ещё лежит и что все его свойства остались прежними. А потом вы насобирали 10 одинаковых камней в том же ящике, и каждый из которых тщательнейшим образом просчитывается. Заподозрили неладное… а во-о-от когда камней стало 100, то уже точно узнали, что играете неправильно, и вообще ваш компьютер не рассчитан для таких невероятно сложных вычислительных задач. Короче, господа разработчики, не надо так… (っ╹ᆺ╹)っ
Блин, какой же ты милаха и симпотяга, я влубился :) Было очень интересно и познавательно. Я хоть и не эксперт, но отчасти догадывался о некоторых функциях, изложенных в видео. Однако одно дело догадываться и другое узнать как оно работает на самом деле! Пожалуй подпишусь, хочу время от времени видеть такого интересного парня в своей ленте.
7:00 пример с пулями не полон, либо не удачный, так-как это регулярно используемый объект. Создание/удаление объектов - это тоже издержка. пулю при попадании следует не удалять, а "отключать" и прятать под землю. При очередном выстреле, пулю следует создавать только при нехватке выключенных, а иначе включить ту что есть.
С источниками света есть одна хитрость: можно сделать 2 типа текстур - одна с тенями, другая без. Если пользователь взаимодействует с объектом - делаем свет динамическим (предварительно скрыв запечённые тени😂), после чего можно обновить состояние теней и вновь перевести свет в статическое состояние.
nanite работает хорошо только с старшими картами nvidia(в будущем и на amd картах будет работать конечно) но основная масса игроков использует бюджет карты а многие и вовсе на амд сидят а студии никогда не будут делать ставки только на мажоров и делать игры с оптимизацией под возможности ультра дорогого железа, так что до нанит как до луны пешком учитывая что до сих пор нет более продвинутого сжатия текстур а как мы знаем из за нанита игры могут весить под терабайт и более . вангую эта технология через лет 10 будет использоваться масштабно
Спасибо, годное видео) Работаю Техническим Дизайнером в одной студии по разработке мобильных игр, проект - мидкор, но вопрос оптимизации стоит остро, особенно когда апаем качество графики и эффектов в игре. Можешь пожалуйста развить тему оптимизации графики и ресурсов? Использование разных методологий упаковки, батчинг, полигональные атласы и тд?А также ОЧЕНЬ интересно что там по "адекватным" Draw Calls в текущих реалиях)
Путь который выбрали люди в создании 3д графики, а именно сетку из полигонов исключает реализм. Все выглядит слишком искусственно. Другое дело воксели. По сути частицы, аналог молекул, из которых могли бы состоять объекты, которые можно крошить в порошок. Если в будущем и создадут что-то похожее на Матрицу, или какую нибудь симуляцию - то только с помощью них. И зачем тогда вообще нужно было идти по лёгкой тропинке из полигонов? Прятать грани там, где мы не можем их увидеть, ради оптимизации. Когда могли сразу начать с вокселей
В реалиях текущего железа это просто не получится, вокселей будет ну уж слишком много и каждый хранит информацию об состоянии Я отлично знаю, каково это делать воксельный движок, по факту это куча костылей разной степени вшивости, в том числе запекания в меши(те же чанки в Майнкрафте) И вообще это вброс, мягкие ткани и воксели вещи несовместимые
@@Dmytro-Tsymbaliuk А если в ткани триллионы вокселей (гипотетически), всё равно не получится моделька ткани, которая может деформироваться от ветра или чтобы её можно было реалистично порвать?
Очень интересный ролик про оптимизации. Всегда интересовала эта тема в виду того, что некоторые игры работают прям плавно и с хорошей графикой, а другие фризят даже на низких с просадками фпс.
Хорошее видео: понятное, основательное, дикция хорошая без специфичных "изюминок", как у некоторых блохеров. Одно только нервирует - уважаемый диктор, постарайтесь не так сильно мотылять головой. Оно местами полезно подчеркнуть какую-то фразу/идею, но у вас черезчур много мотыляний. Это начинает нервировать и мешать воспринимать остальную информацию, в т.ч. голос.
Блин, в съемке настолько плавные движения, что создаётся ощущение что смотришь как нейросеть картинку оживила, могу посоветовать только как то оживить задний план
Сделай видео, со сборкой игр, где по твоему мнению разработчики отлично оптимизировали всё, показывая нам на примерах, ну и понятное дело, объясняй, как сделал бы ты, что сделал бы ты, было бы также интересно
Как бывший работник gamedev (fps) , скажу:Очень хороший и понятный обзор, не ожидал. Единственно полигоны конечно треугольные а не квадратные, и про карту нормали можно было прояснить что это имитация освещение рельефа и не более
@@prettyone68 что например ?, в контексте графики для широкой аудитории вполне, а так конечно спускаться в шейдеры, профилировку, кэш промахи и пр. наверно лишнее
@@RomanGen1начиная с базы , что больше полигонов = хуже . Сейчас не 90й год . Да , оптимизация это круто . Но без фанатизма . И как обычно база - где-то надо много поликов , где-то нет . И это не от того что в обзор попадает . А от того , что полигонами в определенных ситуациях решать задачу , дешевле чем текстурой . И так много мелочей за весь ролик. Для ознакомления первопроходцев пойдет . Пы.Сы. О поликах на лице посмеялся. Понятно же что их для анимации лицевой части делают. А не для качества картинки. Вот этим он вводит в заблуждение новичков . У которых будет статика на лице , а они будут валить 20к в лицо.
@@prettyone68 вы так и не ответили, что не так. Ваши мысли насчёт геометрии некорректны, на открытых пространствах вершинный шейдер может обогнать и фрагментный.
@@prettyone68 скажу больше, помимо лод-ов, удаленные объекты рендерят в текстуру и показывают как спрайт, так например делают лес в том же FarCry, так что на геометрии не экономят только в играх с маленькими сценами и малым количеством обьектов
нифига нового не узнал, мог бы еще и про атласы сказать, про массивы текстур, про использование ограничивающих объемов и про технологии разделения мира. Правда если используешь какую нибудь Юнити ты об этих механизмах само собой никогда не узнаешь, но в своем движке имеет смысл накинуть их.
Доброго дня! А какие нибудь советы для уже готовых игр на Unreal Engine можете подсказать? Например команды на повышение фпс для файла Engine.ini, или параметры командной строки которые отключают всё ненужное или наоборот включают какие нибудь скрытые штуки?
1:50 Вопрос очевидный. Почему технология по автоматическому создания LODов появилась недавно, хотя что трудного при компиляции игры брать модель и просто немного склеивать ближние вертексы?
9:25 Едва ли на планете остались мультиплееры, имеющие p2p архитектуру. Все уже давно перешли на клиент-серверную архитектуру, при такой модели данные собираются на игровом сервере, а затем передаются игрокам. Такой подход проще, дешевле и безопаснее.
Вывод: если заморочиться, то можно оптимизировать все что угодно и сделать очень красивую картинку на экране при небольшой производительности. p.s. супер интересный ролик. спасибо!
Я этого не искал, но мне всегда было интересно узнать об оптимизации
Я тоже хотел узнать,но нифега не понял с первого раза.
жиза
👍🏻
с языка снял
тоже самое
- как оптимизируют игры?
- все разрабы игр в 2024 году: "шта? Какая еще оптимизация игр? У нас разве не бета тесты за 8к рублей?"
"но игра же еще в стадии разработки"
Бетатесты за 250+$/€(тарков момент)
очень обидно было за City Skylines 2....
Сарказм смешной
Я играю в """""""НЕ БЕТА ТЕСТ GOREBOX 1.5.5""""""""
видео так хорошо подготовлено, что создаётся впечатление, что оно подготовлено блогером как минимум с 100к подписчиков
если бы не твой коммент, я бы продолжал думать, что это блогер со 100к подписчиков
@@Joseshoku512 хахах
У него всего 2500 подписчиков??? Я до конца видео думал, что у него 500К не меньше...
РФ страна 404 , искуственно создали, искуственный язык, своего ничего нету, и больше и не будет.
Тема нишевая(видимо даже среди разработчиков), так что не удивительно. Всегда легче просто ныть, чем пытаться разобраться.
Можно добавить, что мип маппинг не только снижает разрешение текстур, но и убирает мерцание на большой дистанции, когда плотность пикселей текстуры становится больше плотности оных на мониторе. То есть не только производительность, но и корректное отображение.
В GTA 4 такая проблема есть) Но там вроде как мод уже выпустили, который её фиксит
таким добрым и приятным голосом отбить напрочь желание создавать ААА игры
(С) Тодд Говард
я не думаю что у тебя есть бюджет на ААА игры, главное чтобы инди не отбил желание создавать
@@veatix4291согласен, потому что, как мне кажется, мир игр держится только благодаря инди. для меня все игры крупных корпораций такие... шаблонные. в каждой открытый мир, шутер, стелс, кутэе, феминистки, лгбтшники и т. д.
@@tupaialoshara жиза
@@tupaialosharaхреновый же у тебя кругозор и восприятие)
103 сотрудника Юбисофт поставили дизлайк.
For Honor просто ебе@шая оптимизацыя даже когда игра только вышла
По факту
Как ты видишь дизлайки?
@@UntoldLonelyвозможно расширение для браузера скачал
@@UntoldLonelyДля ПК есть расширение, для Android есть Revanced TH-cam (считай платный Ютуб , с вырезанной рекламой как от самих блогеров так и от Гугла), в котором показываются дизлайки
Отличное видео. По ресурсам есть небольшое уточнение. Пример там неудачный. Никто, конечно, не будет загружать и выгружать пулю из памяти каждый раз. Обычно для таких объектов (которые часто необходимы в игре и которых много: пули, враги, etc) используется "пул объектов". Это когда объект не удаляется из памяти, а "скрывается" от глаз игрока. И уже затем, когда пуля вновь необходима - используется "скрытая". Таким образом избегаются частые обращения к медленной памяти, а некоторый запас пуль постоянно лежит в RAM.
А я смотрю, что кто-то шарит
создавать объекты и уничтожать их на лету это конечно верх идиотизма.
Это под капотом движка происходит? В юнити обычно projectile уничтожают после попадания в что-то, либо после таймера - объект исчезает со сцены. Но объект не скрыт от игрока, он просто не существует как объект, но он есть в виде префаба. Получается автор прав🤔
Насколько помню, в некоторых движках есть пулы объектов, из которых нужный объект в нужное время телепортируется. То есть объект существует на сцене, но скрыт.
@@Долой_Уныние нет, это пишется руками программиста. По крайне мере, если мы говорим про юнити. В обычной ситуации, конечно, снаряд уничтожают после попадания. Но если мы хотим оптимизировать нашу игру, то пул объектов является одним из инструментов оптимизации. И, поскольку видео об оптимизации, я и обратил на это внимание.
@@Долой_Уныниепреваб является лишь ассетом в проекте, т.е до инстанта он не находится на сцене. Создание стрельбы всегда требует создания обжект пула.
По поводу динамического удаления объектов - в качестве оптимизации как раз наоборот можно не удалять объекты, а просто прятать и переиспользовать снова, потому что и создание, и удаление объекта - это довольно дорогие операции
Смотря как он используется. Если движок подгрузил какой-то аудио клип который используется лишь однажды (например OST по время загрузочного экрана), то конечно, было бы хорошо удалить этот клип из памяти после завершения загрузки. Хотя, большинство движков не грузят аудиоклипы целиком и полностью, а стримят их по 10-15 секунд. Во всяком случае, это уже ответственность разработчика игры, а не движка - удалять или не удалять объект
@@daniilvinnik4450 конечно, зависит от использования. Но в том примере, что показал автор, лучше будет не удалять
6:55
Те самые пули, которые летят целым патроном)
Пулю можно заменить png картинкой)))
@@drt-do1xh или вообще ток спец еффекты чтоб казалось что пуля есть)))
О только огонь из ствола я уже в 3 играх видел 😂@@NazikcAK47
@@Alexander-np6mg ну вот именно)
Было интересно послушать о оптимизации не только со стороны кода.
Кстати касаемо него. В оптимизации кода есть огромное кол-во ухищрений. Например большую часть физики обычно детерминируют, т.е. делают не привязанной к физическому движу. Это особо заметно,например в ассасинах, когда при прыжках, герой прилипает словно магнит к ближайшим усьупаи. Тоже и в боёвках. Например в солс лайк играх популярна механика парирования. Она реализована не через проверку пересечения коллизий оружия, а через банальные тайминги удара. Игра сравнивает время когда противник и игрок начали атаку для пониания было ли парировние, именно поэтому иногда анимации не соответствуют действиям персонажей. В общем, код тоже интересный пласт в плане оптимизации.)
Со стороны кода ничего и не было описано, большая часть это левел дизайн ухищрения
@@Nikitunr2013 ну почему. Те же лоды, ужимание карт нормалей и прочих материалов, работа со светом, динамическая подгрузка/выгрузка частей мира - это всё вполне себе работа и с кодом
@@JamesListener это всё можно настроить в интерфейсе движка. Называть это работой с кодом, как называть вождение машиной до магазина - работой ремонтника.
Дааа, тебя бьют режущим мечом метра так 5, а ты делаешь УВОРОТ от него, хотя сама текстура меча проходит через твоего перса))
Соулс вообще не логичная в плане драк игра. Извиняться за обиженок не буду
Сразу видно что разработчики Смуты не смотрели этот видео )
10:12 В Half-Life 2 лучшая оптимизация. Карта распределена на кучу мелких сцен с скриптами, уже само по себе позволяет детализировать карту очень сильно и при этом не нагружать сильно комп огромной картой, ведь она очень быстро сменяется другой. Также, если не ошибаюсь, в игре есть система «ожидания» действия, а не проверки, то есть система ждёт, пока игрок что-то сделает, например подойдёт в область, где срабатывает скрипт. Это позволит убрать проверку нажатия чего-либо, а просто сделать анимацию и зону со скриптом. Также есть Mesh и NAV-карты для NPC и скриптов. Это хорошая оптимизация для ИИ, он будет не анализировать в реальном времени, куда идти, а заранее просчитать путь, быстрый путь до нужной точки, и пойти туда, хотя зачастую это в играх на основе Half-Life 2 упускают, из-за чего игры не особо оптимизированы. Как тот же Garry’s Mod. В то время как в Half-Life 2 на одной карте может быть FPS 200, а в Garry’s Mod FPS 20.
Я и сам задумался, что лучше будет ждать действия, а не проверять его.
Это линейная сингловая игра, если бы там был открытый мир, то совсем по другому было бы
Не знаю как сейчас, но раньше это умели делать.
Понял я это, на примере spec ops the line. За полем зрения игрока, разработчики просто срезают целые локации и карты. Это заметно, если использовать свободный полет (мод), то есть, как только игрок попадает вне поле зрения какой либо локации, куда он не вернется, либо вернётся со временем, то разрабы просто вырезают всю комнату. Ни декалей, ни нпс с рендоллами, ни каких предметов. Просто пустая комната. А иногда и без комнаты.
И ведь это будет на протяжении всей игры, а сама игра при этом будет работать в стабильные 60 ФПС без фризов. Наверное это и есть - оптимизация.
Современные разработчики: а чё, так можно было что ли?!
Это хорошее вводное видео, рассказывающее о том, какие способы оптимизации в играх вообще существуют, но не вдающееся в детали каких-либо отдельных способов.
Всего 5к подписчиков...
Ты реально заслуживаешь большего
Безумно качественно
Какой классный канал. Посмотрел 1 видео и сразу влюбился. Такой приятный автор и столько интересного рассказывает по нужной мне теме. Респект
Я хоть и не разработчик, но было приятно и интересно послушать такой материал
Лоды и без нанита давно делаются автоматически, не в ручную, в ручную только допиливались.
Но в остальном- база, хорошая база для понимания о чём почитать.
Молодец, если будут ролики с примерами использования, буду рад посмотреть.
Отличное видео. Если бы в комментариях не намекнули бы, что тут пока что относительно немного подписчиков, я бы и думал дальше, что здесь 60+ тысяч.
Спасибо за видео
Понятия не имею как попало в реклмендации, но подача, звук и содержание шикарное 🎉
Понятное объяснение, приятный голос, вот бы все ютуберы так понятно объясняли.
Разрабам геншина это видео станет полезным.
Удивительно хороший контент. Хоть я и не имею отношения к разработке игр, но смотрел крайне внимательно, ибо сам играю и тема способов оптимизации достаточно интересна. Я практически никогда не ставлю лайки и не пишу комментарии, но после просмотра видео появилось желание таким образом отблагодарить автора. Спасибо за разнообразие в унылой ленте рекомендаций.
Настолько интересно рассказал, что я аж вместо того, чтобы заснуть под видик взял телефон и посмотрел. Определенно лайк 👍
Скиньте это видео Никите Буянову
😂
Ну там нагружает не так графика, как просчет всех предметов, ии диких, пуль, брони и т.д.
Конечного пользователя парить не должно что там происходит. У них бл*дь нормально половина кода не работает. Лоды говна, когда у тебя на дргом конце карты отрисовывается какая-то ненужная херь и тд. Да и клиенту большенство штук нахер не надо. Зачем мне на клиенте инфа о луте больше чем в 40 метрах от меня, не в поле зрения? Это все отмазки для ленивых@@ixont_chmo
Я как разработчик игрового 3D движка могу сказать что в большинстве случаев в видео все правильно сказано. Агрессивный лодинг, оптимизация света (в особенности), правильное управление потоками CPU реально помогают уменьшить время кадра. Только 2 единственных момента, но это по мелочи - camera culling называют frustum culling, и еще - не mesh shEders, а mesh shAders, хотя я уверен что это просто опечатка)) я как раз эти меш шейдеры щас реализую в своем движке
Прикольно, а на что нацелен движок? Я вот свой пилю для стратегий(пока пошаговая)
Очень интересно... Красавчик) с меня лайкос! Но вот с головой ты перебрал у меня складывалось такое ощущение что она вот вот отвалится даже немного было страшно😅
"Оптимизация? Я не знаю, что это слово значит, никто не знает, что вы себе придумали, это просто набор звуков" © Альберт Жильцов, глава 1C Game Studios.
дизлайки поставили сотрудники БСГ
Смысле не понял
Приятный человек, приятно слушать грамотных людей.
одна рекомендация (без негатива) - когда включаешь камеру на себя то ощущение что я смотрю какойто цирк и аттракцион с главным исполнением в виде твоей головы, слишком много лишних движений + они почти одинаковые, что создает ощущение что любой кадр с твоей вебкой на себя банально зациклен, эмоции +- также одинаковые, но это не то чтобы минусы или плюсы, просто слишком бросается в глаза то, что вербальная информация никак не соответствует невербальной, много экспрессии, много невербальных акцентов и лишних телодвижений. И нет, это не "я так делаю я так общаюсь", это прекрасно видно что (без негатива) наиграно, поэтому ну, я лично моменты где ты включал вебку просто пропустил потому что я устал смотреть это. Остальный контент лайк +
Хз, как по мне норм😮
Понимаю тебя, испытывал тоже самое при просмотре, так же согласен с автором комментария, без негатива
Бро, вербальная информация не совпадает с невербальной? Больше половины видео состоит из картинок/футажей из движков
Все важные моменты, как полигоны(00:30, 00:32, 00:50, 01:20), LOD-ы (01:29-02:07), копирование (02:14-02:29) моделек, качество (02:49-03:18), текстуры (03:20-04:05) материалов, распространение освещения(04:32-05:02), симуляция(05:42-06:42), ресурсы (полностью) и т.д. показаны идеально. Вся важная информация была с излишком показана с помощью картинок, причём сильно заметно, что большинство футажей, как с движком, анимацией с текстом и т.д. он делал сам
В моментах когда он включает вебку вообще нету информации, которую надо было бы показать через картинки и т.д. Зачем и как ты покажешь то, что студия ставит своим приоритетом скорость разработки, вместо оптимизаций
Жестикуляция, эмоциональность бросается в глаза? Круто, так автор общается. Каким образом тебе это мешает информацию воспринимать? Не нравится? Смотри тогда куда-нибудь в другое место, когда у него включена вебка
Ты по факту, обесценил труд автора, который сам делал большинство "вербальной информации" сказав, что он слишком часто появляется в кадре и что он слишком эмоциональный
Плюсую. Сам ролик хороший, но трясущаяся голова меня постоянно раздражала
А я даже не обратил внимание. Не критичный момент для меня
Отличное видео, начинается с общеизвестных фактов, чтобы зацепить пониманием побольше аудитории. На всём протяжении прекрасная музыка на заднем фоне и своевременные вставки с красивым кадром лица автора. Респект тебе автор за такие старания, давно я не видел новых КаКо (качественного контента) производителей на ютубе 🙃😉
Давай в том же духе!
Если собираешь идеи для видео, то мне лично очень бы понравился разбор механики атаки в и играх (ближнего и дальнего боя, боя на мечах, рассказы про хитбоксы, системы попаданий в разных движках, регистрации на сервере и тд) или хотябы инструкцию как сдеоать простенький файтинг)))
да
Видео такое качественное, звук, картинка, сценарий, ну все приятно смотреть, так ещё и парень такой приятный. Однозначно лайк
Наниты пушка, офигенская технология, даешь наниты в каждый игровой движок!!!!
Таким милахой на превью получился)
как оптимизируют игры? сейчас походу никак. сейчас вместо этого предлогают включить dlss или генерацию кадров. ну или как тод говард говорят- у нас все отлично, а у вас просто компы слабые.
надо раскрыть эту тему не на 5 мин, а на пару часов с примераи и разбором каждой части, например есть еще bsp, bvh... сделать сравнительные тесты про приросту. рассказать о стрктурных проблемах, паттернах когда в одном случае это актуально, в другом иное. Профессионально подойти как к докладу, без пафоса
Я тоже желаю хорошей оптимизации жизни, потому что от вашей оптимизации будет зависеть какой пакет данных мы получим на выходе...
Идеал - цель не достижимая, цель всегда меняющаяся по возможностям и приоритетам.
Не стремитесь к идеалу, но стремитесь к балансу под требуемую среду.
(это всё очень актуально каждую секунду нашей жизни. Нас самих и нашей ответственности в облике живого существа, будь то для начала домашний питомец или маленький человечек...неправильное планирование и распределение ресурсов может иметь печальный характер, но разной степени возможности исправить всё с меньшими или большими затратами или вообще оказаться в терминальной стадии точки невозврата. Цените эту жизнь и каждое её мгновение)
для тех кто решил что пулю лучше скрыть чем удалить. Ну начнем с того что есть 2 типа удаления, выпилить из памяти видеокарты и выпилить из логической обработки. для игрока эффект будет одинаковый, для системы во втором случае использовать 0,1, 1000 пуль разницы большой не будет если движок правильно написан
Разработчикам смуты надо показать
Ни поможет😢
Поздно
Тю. Смута даже не игра а просто сырая заготовка. Нет смысла в этом
Как всё сложно, это нужно всю жизнь посвятить делу.
Видел похожее видео от XYZ, но там просто набросали умных слов и всё. А тут прямо +/- доходчиво и понятно. Спасибо
в ручную лоды? дf, можно и в ручную, но уже с середины 2000х в играх используют Simplygon, который эти лоды генерит автоматически.
очень интересная тема и само видео выполнено качественно. лайк, удачи тебе в дальнейшем на ютубе
теперь узнал, "да кто такой этот ваш" mip-map
так мало роликов по делу, которые достаточно подробно рассказывают про тему
крайне приятный ролик
продолжай делать видео в этом напровлении !! хорошо выходит у тебя и голос приятный
Рекомендуется просмотр разработчикам мобильных игр
Разрабы.
"Мы ограничены технологиями нашего времени. Ой, то есть мы надеемся на FSR и DLSS , и забиваем х... болт на оптимизацию."
Прекрасная подача и голос. Очень интересно и понятно. Термины, изображения и видео. Все очень интересно. От начала и до конца не заметил как все просмотрел. Спасибо
Очень круто быстро всё обьяснил, мне как начинающему разработчику было очень интерестно посмотреть. Однозначно лайк
Хорошая подача, приятный голос и манера речи и взгляд добрый и простой
Приведу дичайший пример, который меня как-то давно шокировал: допустим, в игре есть камень. Обычный. Вы взяли камень и положили его в ящик. С этого момента игра начинает проверять 60 раз в секунду, что камень в ящике всё ещё лежит и что все его свойства остались прежними. А потом вы насобирали 10 одинаковых камней в том же ящике, и каждый из которых тщательнейшим образом просчитывается. Заподозрили неладное… а во-о-от когда камней стало 100, то уже точно узнали, что играете неправильно, и вообще ваш компьютер не рассчитан для таких невероятно сложных вычислительных задач.
Короче, господа разработчики, не надо так… (っ╹ᆺ╹)っ
Отличный видос,задумался над тем,что в будущем разрабы будут просто меньше оптимизировать игры,тем самым улучшая "детализацию"
Блин, какой же ты милаха и симпотяга, я влубился :)
Было очень интересно и познавательно. Я хоть и не эксперт, но отчасти догадывался о некоторых функциях, изложенных в видео. Однако одно дело догадываться и другое узнать как оно работает на самом деле! Пожалуй подпишусь, хочу время от времени видеть такого интересного парня в своей ленте.
7:00 пример с пулями не полон, либо не удачный, так-как это регулярно используемый объект. Создание/удаление объектов - это тоже издержка. пулю при попадании следует не удалять, а "отключать" и прятать под землю. При очередном выстреле, пулю следует создавать только при нехватке выключенных, а иначе включить ту что есть.
Очень странно, что кого-то реально смутили жесты или эмоции, никаких проблем с видео Не увидел, очень круто и интересно, спасибо!
Какой симпатичный мужчина да ещё и умный) желаю много подписчиков.
лбню
С источниками света есть одна хитрость: можно сделать 2 типа текстур - одна с тенями, другая без. Если пользователь взаимодействует с объектом - делаем свет динамическим (предварительно скрыв запечённые тени😂), после чего можно обновить состояние теней и вновь перевести свет в статическое состояние.
Если можно, хотелось бы более подробных видео с большим разбором подробностей и т.п. Но в целом видео хорошие и интересные
Отличное видео! Желаю как можно больше просмотров и подписчиков данному каналу. Подписываюсь!
все разрабы: надо делать хорошую оптимизацию нашей игры что-бы в неё комфортнее было играть!
гта 4: -_-
nanite работает хорошо только с старшими картами nvidia(в будущем и на amd картах будет работать конечно) но основная масса игроков использует бюджет карты а многие и вовсе на амд сидят а студии никогда не будут делать ставки только на мажоров и делать игры с оптимизацией под возможности ультра дорогого железа, так что до нанит как до луны пешком учитывая что до сих пор нет более продвинутого сжатия текстур а как мы знаем из за нанита игры могут весить под терабайт и более . вангую эта технология через лет 10 будет использоваться масштабно
Всегда хотел узнать как оптимизируют игры
Благо есть такие простые и понятные видео
Спасибо автору, видео однозначно заслуживает лайк.
Все по факту, и без воды спасибо!)
Отличное видео, просто и понятно объяснено всё, спасибо!
Крайне качественное и интересное видео, спасибо!
грамотная речь , но не хватает какой-то спокойной музыки на фоне, а так автора приятно слушать
У тебя rode nt1-a? Подскажи чепочку плагинов, которые используешь, нравится твой звук
Спасибо, годное видео) Работаю Техническим Дизайнером в одной студии по разработке мобильных игр, проект - мидкор, но вопрос оптимизации стоит остро, особенно когда апаем качество графики и эффектов в игре.
Можешь пожалуйста развить тему оптимизации графики и ресурсов? Использование разных методологий упаковки, батчинг, полигональные атласы и тд?А также ОЧЕНЬ интересно что там по "адекватным" Draw Calls в текущих реалиях)
Интересная тема, динамичная подача. Автор красавчик👍
Приятный ролик на интересную тему, подписался)
Вау! Очень качественно изложен материал. Влюбился. Подписался. Спасибо!
Какой молодец. Контент на миллион подписчиков! Лайк
2:07 а разве не добавили эту возможность? В новой демке появились листья на деревьях и прочая мишура
Я это не искал, я фронтендер и люблю в игрушки поиграть, но, спасибо, за интересное и главное понятное объяснение :)
Путь который выбрали люди в создании 3д графики, а именно сетку из полигонов исключает реализм. Все выглядит слишком искусственно.
Другое дело воксели. По сути частицы, аналог молекул, из которых могли бы состоять объекты, которые можно крошить в порошок. Если в будущем и создадут что-то похожее на Матрицу, или какую нибудь симуляцию - то только с помощью них. И зачем тогда вообще нужно было идти по лёгкой тропинке из полигонов? Прятать грани там, где мы не можем их увидеть, ради оптимизации. Когда могли сразу начать с вокселей
В реалиях текущего железа это просто не получится, вокселей будет ну уж слишком много и каждый хранит информацию об состоянии
Я отлично знаю, каково это делать воксельный движок, по факту это куча костылей разной степени вшивости, в том числе запекания в меши(те же чанки в Майнкрафте)
И вообще это вброс, мягкие ткани и воксели вещи несовместимые
@@Dmytro-Tsymbaliuk А если в ткани триллионы вокселей (гипотетически), всё равно не получится моделька ткани, которая может деформироваться от ветра или чтобы её можно было реалистично порвать?
Очень интересный ролик про оптимизации. Всегда интересовала эта тема в виду того, что некоторые игры работают прям плавно и с хорошей графикой, а другие фризят даже на низких с просадками фпс.
Классное видео, спасибо, посмотрю ка что ещё есть на канале
Хорошее видео: понятное, основательное, дикция хорошая без специфичных "изюминок", как у некоторых блохеров.
Одно только нервирует - уважаемый диктор, постарайтесь не так сильно мотылять головой. Оно местами полезно подчеркнуть какую-то фразу/идею, но у вас черезчур много мотыляний. Это начинает нервировать и мешать воспринимать остальную информацию, в т.ч. голос.
Видео супер, большой патенциал, автор красавчик👍
Спасибо, не знал о некоторых способах.
отлично. но шейный шарнир хорошо бы подкрутить
Спасибо! Всё чётко и без воды !
Весьма доступно, благодарю за информацию.
Блин, в съемке настолько плавные движения, что создаётся ощущение что смотришь как нейросеть картинку оживила, могу посоветовать только как то оживить задний план
Крутой ролик
Все доступно и понятно, а для хоть чуть понимающих специфику - элементарная база
Сделай видео, со сборкой игр, где по твоему мнению разработчики отлично оптимизировали всё, показывая нам на примерах, ну и понятное дело, объясняй, как сделал бы ты, что сделал бы ты, было бы также интересно
Как бывший работник gamedev (fps) , скажу:Очень хороший и понятный обзор, не ожидал. Единственно полигоны конечно треугольные а не квадратные, и про карту нормали можно было прояснить что это имитация освещение рельефа и не более
как текущий разраб , замечу , что очень много он тут переврал , так как в теме не разбирается полностью.
@@prettyone68 что например ?, в контексте графики для широкой аудитории вполне, а так конечно спускаться в шейдеры, профилировку, кэш промахи и пр. наверно лишнее
@@RomanGen1начиная с базы , что больше полигонов = хуже . Сейчас не 90й год . Да , оптимизация это круто . Но без фанатизма . И как обычно база - где-то надо много поликов , где-то нет . И это не от того что в обзор попадает . А от того , что полигонами в определенных ситуациях решать задачу , дешевле чем текстурой . И так много мелочей за весь ролик. Для ознакомления первопроходцев пойдет . Пы.Сы. О поликах на лице посмеялся. Понятно же что их для анимации лицевой части делают. А не для качества картинки. Вот этим он вводит в заблуждение новичков . У которых будет статика на лице , а они будут валить 20к в лицо.
@@prettyone68 вы так и не ответили, что не так. Ваши мысли насчёт геометрии некорректны, на открытых пространствах вершинный шейдер может обогнать и фрагментный.
@@prettyone68 скажу больше, помимо лод-ов, удаленные объекты рендерят в текстуру и показывают как спрайт, так например делают лес в том же FarCry, так что на геометрии не экономят только в играх с маленькими сценами и малым количеством обьектов
нифига нового не узнал, мог бы еще и про атласы сказать, про массивы текстур, про использование ограничивающих объемов и про технологии разделения мира. Правда если используешь какую нибудь Юнити ты об этих механизмах само собой никогда не узнаешь, но в своем движке имеет смысл накинуть их.
Атлас весьма сомнительный способ хранения текстур, обычно это все же массив, либо совмещать(допустим, атлас только для текстур для текущей модели)
@@Dmytro-Tsymbaliuk Ага глянул бы как ты без атласа выведешь тот же текст)
Доброго дня! А какие нибудь советы для уже готовых игр на Unreal Engine можете подсказать? Например команды на повышение фпс для файла Engine.ini, или параметры командной строки которые отключают всё ненужное или наоборот включают какие нибудь скрытые штуки?
Высококлассный контент, благодарю за четкую структуру материала)
1:50 Вопрос очевидный. Почему технология по автоматическому создания LODов появилась недавно, хотя что трудного при компиляции игры брать модель и просто немного склеивать ближние вертексы?
9:25 Едва ли на планете остались мультиплееры, имеющие p2p архитектуру. Все уже давно перешли на клиент-серверную архитектуру, при такой модели данные собираются на игровом сервере, а затем передаются игрокам. Такой подход проще, дешевле и безопаснее.
Спасибо, очень понятно, и голос приятный
Отдельное спасибо за примеры
Отличное видео, таких как вы не хватает, за 11 минут всё как надо
Было интересно глянуть, спасибо!
Вывод: если заморочиться, то можно оптимизировать все что угодно и сделать очень красивую картинку на экране при небольшой производительности.
p.s. супер интересный ролик. спасибо!
никогда не думал об этом, но очень интересно