Можно добавить, что мип маппинг не только снижает разрешение текстур, но и убирает мерцание на большой дистанции, когда плотность пикселей текстуры становится больше плотности оных на мониторе. То есть не только производительность, но и корректное отображение.
@@UntoldLonelyДля ПК есть расширение, для Android есть Revanced UA-cam (считай платный Ютуб , с вырезанной рекламой как от самих блогеров так и от Гугла), в котором показываются дизлайки
@@veatix4291согласен, потому что, как мне кажется, мир игр держится только благодаря инди. для меня все игры крупных корпораций такие... шаблонные. в каждой открытый мир, шутер, стелс, кутэе, феминистки, лгбтшники и т. д.
Удивительно хороший контент. Хоть я и не имею отношения к разработке игр, но смотрел крайне внимательно, ибо сам играю и тема способов оптимизации достаточно интересна. Я практически никогда не ставлю лайки и не пишу комментарии, но после просмотра видео появилось желание таким образом отблагодарить автора. Спасибо за разнообразие в унылой ленте рекомендаций.
Отличное видео. По ресурсам есть небольшое уточнение. Пример там неудачный. Никто, конечно, не будет загружать и выгружать пулю из памяти каждый раз. Обычно для таких объектов (которые часто необходимы в игре и которых много: пули, враги, etc) используется "пул объектов". Это когда объект не удаляется из памяти, а "скрывается" от глаз игрока. И уже затем, когда пуля вновь необходима - используется "скрытая". Таким образом избегаются частые обращения к медленной памяти, а некоторый запас пуль постоянно лежит в RAM.
Это под капотом движка происходит? В юнити обычно projectile уничтожают после попадания в что-то, либо после таймера - объект исчезает со сцены. Но объект не скрыт от игрока, он просто не существует как объект, но он есть в виде префаба. Получается автор прав🤔 Насколько помню, в некоторых движках есть пулы объектов, из которых нужный объект в нужное время телепортируется. То есть объект существует на сцене, но скрыт.
@@Долой_Уныние нет, это пишется руками программиста. По крайне мере, если мы говорим про юнити. В обычной ситуации, конечно, снаряд уничтожают после попадания. Но если мы хотим оптимизировать нашу игру, то пул объектов является одним из инструментов оптимизации. И, поскольку видео об оптимизации, я и обратил на это внимание.
@@Долой_Уныниепреваб является лишь ассетом в проекте, т.е до инстанта он не находится на сцене. Создание стрельбы всегда требует создания обжект пула.
По поводу динамического удаления объектов - в качестве оптимизации как раз наоборот можно не удалять объекты, а просто прятать и переиспользовать снова, потому что и создание, и удаление объекта - это довольно дорогие операции
Смотря как он используется. Если движок подгрузил какой-то аудио клип который используется лишь однажды (например OST по время загрузочного экрана), то конечно, было бы хорошо удалить этот клип из памяти после завершения загрузки. Хотя, большинство движков не грузят аудиоклипы целиком и полностью, а стримят их по 10-15 секунд. Во всяком случае, это уже ответственность разработчика игры, а не движка - удалять или не удалять объект
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 ФПС без фризов. Наверное это и есть - оптимизация.
Было интересно послушать о оптимизации не только со стороны кода. Кстати касаемо него. В оптимизации кода есть огромное кол-во ухищрений. Например большую часть физики обычно детерминируют, т.е. делают не привязанной к физическому движу. Это особо заметно,например в ассасинах, когда при прыжках, герой прилипает словно магнит к ближайшим усьупаи. Тоже и в боёвках. Например в солс лайк играх популярна механика парирования. Она реализована не через проверку пересечения коллизий оружия, а через банальные тайминги удара. Игра сравнивает время когда противник и игрок начали атаку для пониания было ли парировние, именно поэтому иногда анимации не соответствуют действиям персонажей. В общем, код тоже интересный пласт в плане оптимизации.)
@@Nikitunr2013 ну почему. Те же лоды, ужимание карт нормалей и прочих материалов, работа со светом, динамическая подгрузка/выгрузка частей мира - это всё вполне себе работа и с кодом
@@JamesListener это всё можно настроить в интерфейсе движка. Называть это работой с кодом, как называть вождение машиной до магазина - работой ремонтника.
Дааа, тебя бьют режущим мечом метра так 5, а ты делаешь УВОРОТ от него, хотя сама текстура меча проходит через твоего перса)) Соулс вообще не логичная в плане драк игра. Извиняться за обиженок не буду
Конечного пользователя парить не должно что там происходит. У них бл*дь нормально половина кода не работает. Лоды говна, когда у тебя на дргом конце карты отрисовывается какая-то ненужная херь и тд. Да и клиенту большенство штук нахер не надо. Зачем мне на клиенте инфа о луте больше чем в 40 метрах от меня, не в поле зрения? Это все отмазки для ленивых@@ixont_chmo
Это хорошее вводное видео, рассказывающее о том, какие способы оптимизации в играх вообще существуют, но не вдающееся в детали каких-либо отдельных способов.
как оптимизируют игры? сейчас походу никак. сейчас вместо этого предлогают включить dlss или генерацию кадров. ну или как тод говард говорят- у нас все отлично, а у вас просто компы слабые.
Очень интересно... Красавчик) с меня лайкос! Но вот с головой ты перебрал у меня складывалось такое ощущение что она вот вот отвалится даже немного было страшно😅
Лоды и без нанита давно делаются автоматически, не в ручную, в ручную только допиливались. Но в остальном- база, хорошая база для понимания о чём почитать. Молодец, если будут ролики с примерами использования, буду рад посмотреть.
одна рекомендация (без негатива) - когда включаешь камеру на себя то ощущение что я смотрю какойто цирк и аттракцион с главным исполнением в виде твоей головы, слишком много лишних движений + они почти одинаковые, что создает ощущение что любой кадр с твоей вебкой на себя банально зациклен, эмоции +- также одинаковые, но это не то чтобы минусы или плюсы, просто слишком бросается в глаза то, что вербальная информация никак не соответствует невербальной, много экспрессии, много невербальных акцентов и лишних телодвижений. И нет, это не "я так делаю я так общаюсь", это прекрасно видно что (без негатива) наиграно, поэтому ну, я лично моменты где ты включал вебку просто пропустил потому что я устал смотреть это. Остальный контент лайк +
Бро, вербальная информация не совпадает с невербальной? Больше половины видео состоит из картинок/футажей из движков Все важные моменты, как полигоны(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), ресурсы (полностью) и т.д. показаны идеально. Вся важная информация была с излишком показана с помощью картинок, причём сильно заметно, что большинство футажей, как с движком, анимацией с текстом и т.д. он делал сам В моментах когда он включает вебку вообще нету информации, которую надо было бы показать через картинки и т.д. Зачем и как ты покажешь то, что студия ставит своим приоритетом скорость разработки, вместо оптимизаций Жестикуляция, эмоциональность бросается в глаза? Круто, так автор общается. Каким образом тебе это мешает информацию воспринимать? Не нравится? Смотри тогда куда-нибудь в другое место, когда у него включена вебка Ты по факту, обесценил труд автора, который сам делал большинство "вербальной информации" сказав, что он слишком часто появляется в кадре и что он слишком эмоциональный
nanite работает хорошо только с старшими картами nvidia(в будущем и на amd картах будет работать конечно) но основная масса игроков использует бюджет карты а многие и вовсе на амд сидят а студии никогда не будут делать ставки только на мажоров и делать игры с оптимизацией под возможности ультра дорогого железа, так что до нанит как до луны пешком учитывая что до сих пор нет более продвинутого сжатия текстур а как мы знаем из за нанита игры могут весить под терабайт и более . вангую эта технология через лет 10 будет использоваться масштабно
для тех кто решил что пулю лучше скрыть чем удалить. Ну начнем с того что есть 2 типа удаления, выпилить из памяти видеокарты и выпилить из логической обработки. для игрока эффект будет одинаковый, для системы во втором случае использовать 0,1, 1000 пуль разницы большой не будет если движок правильно написан
Я как разработчик игрового 3D движка могу сказать что в большинстве случаев в видео все правильно сказано. Агрессивный лодинг, оптимизация света (в особенности), правильное управление потоками CPU реально помогают уменьшить время кадра. Только 2 единственных момента, но это по мелочи - camera culling называют frustum culling, и еще - не mesh shEders, а mesh shAders, хотя я уверен что это просто опечатка)) я как раз эти меш шейдеры щас реализую в своем движке
надо раскрыть эту тему не на 5 мин, а на пару часов с примераи и разбором каждой части, например есть еще bsp, bvh... сделать сравнительные тесты про приросту. рассказать о стрктурных проблемах, паттернах когда в одном случае это актуально, в другом иное. Профессионально подойти как к докладу, без пафоса
Вот так оптимизируешь, оптимизируешь и получаешь далеко не тот уровень детализации, который планировал изначально, а лучше сделать нельзя, т.к. это либо будет невероятно долго, либо затратно(как для разработчика, так и для потребителя, который банально не сможет поиграть даже на своём пк за 100-150 тыс.) Можно конечно попробовать разные способы заработка и/или потратить пол жизни на создание идеальной игры, но вопрос справишься ли ты физически(не говоря уже о моральном состоянии)
Кстати о гильзах и пулях. Ты мне объясни, почему в алиен шутере на 256мб оперативки сохранялись ВСЕ десятки тысяч гильз и повреждений на стенах от выстрелов, а в освременных играх при 16 гб рам гильз не больше 64 и пропадают они спустя минуту?
Я тоже желаю хорошей оптимизации жизни, потому что от вашей оптимизации будет зависеть какой пакет данных мы получим на выходе... Идеал - цель не достижимая, цель всегда меняющаяся по возможностям и приоритетам. Не стремитесь к идеалу, но стремитесь к балансу под требуемую среду. (это всё очень актуально каждую секунду нашей жизни. Нас самих и нашей ответственности в облике живого существа, будь то для начала домашний питомец или маленький человечек...неправильное планирование и распределение ресурсов может иметь печальный характер, но разной степени возможности исправить всё с меньшими или большими затратами или вообще оказаться в терминальной стадии точки невозврата. Цените эту жизнь и каждое её мгновение)
Блин, какой же ты милаха и симпотяга, я влубился :) Было очень интересно и познавательно. Я хоть и не эксперт, но отчасти догадывался о некоторых функциях, изложенных в видео. Однако одно дело догадываться и другое узнать как оно работает на самом деле! Пожалуй подпишусь, хочу время от времени видеть такого интересного парня в своей ленте.
7:00 пример с пулями не полон, либо не удачный, так-как это регулярно используемый объект. Создание/удаление объектов - это тоже издержка. пулю при попадании следует не удалять, а "отключать" и прятать под землю. При очередном выстреле, пулю следует создавать только при нехватке выключенных, а иначе включить ту что есть.
Жаль, что в видео говорится в основном только про графику. Есть ведь ещё ИИ и другие стимуляции, помимо физических. Например стимуляция рынка или генерация мира. Это всё тоже нужно оптимизировать, если чо.
Прекрасная подача и голос. Очень интересно и понятно. Термины, изображения и видео. Все очень интересно. От начала и до конца не заметил как все просмотрел. Спасибо
Слушайте, а почему тогда при изменении графики в определенных играх фпс может даже и не измениться? То есть картинка + текстуры мыльные, а фпс не больше и не меньше.
Ограничение кадров у тебя стоит, либо говноРазрабы, типо этого что нам впаривает свой лагучий Unreal Engine и подперает костылями с 16 Гб оперативки, так как не очистили указатель и память замусориваеться. Да и этот автор совсем мало знает про оптимизацию игр; Camera Cooling 😣
если при смене графики с высоких на низкие, у тебя не повышается ФПС, значит у тебя упор в процессор, процессор не может дать больше кадров видеокарте(Ведь на уровне обработки движка, важен только процессор, то как он обрабатывает движок игры(То есть практически ВСЁ, ЧЕГО ты НЕ ВИДИШЬ в игре, это всё делает процессор), а то что ты ВИДИШЬ, уже РИСУЕТ видеокарта на основе того, что процессор дает ей кадры(Успевает обрабатывать движок игры, чем быстрее он обрабатывает все входящие в него данные, которые отдает ему оперативка, после чего заносится в его КЭШ-память). Есть другая сторона медали, что если у тебя топовейший процессор, но слабая видеокарта, там уже на высоких настройках наоборот, видеокарта будет брать на себя больше, но из-за того что она слабая, будет выдавать мало кадров(Хотя процессор допустим ей дает хоть 100, хоть 200, хоть 300 кадров, но видюха у тебя упёрта в 100%, и не может эти кадры отрисовать, не успевает, в этом случае приходит на помощь технологии по типу DLSS и FSR)
@@user-izolbuj Нет, на видюху идёт только Графический конвеер, рейтрейсинг, отрисовка картинки с последующей растаризацией, а проц на всё остальное, и если игра не поддерживает многопоточность, то игра может дико лагать, пример: Майнкрафт, поддерживает только два потока, так как разрабы, кроме Нотча, скривожопили и игра лагает даже на I9 core при взрыве динамита. А на слабых пк, новые версии майна запускаются с 25 фпс, это для меня, как програмиста дико...
Путь который выбрали люди в создании 3д графики, а именно сетку из полигонов исключает реализм. Все выглядит слишком искусственно. Другое дело воксели. По сути частицы, аналог молекул, из которых могли бы состоять объекты, которые можно крошить в порошок. Если в будущем и создадут что-то похожее на Матрицу, или какую нибудь симуляцию - то только с помощью них. И зачем тогда вообще нужно было идти по лёгкой тропинке из полигонов? Прятать грани там, где мы не можем их увидеть, ради оптимизации. Когда могли сразу начать с вокселей
В реалиях текущего железа это просто не получится, вокселей будет ну уж слишком много и каждый хранит информацию об состоянии Я отлично знаю, каково это делать воксельный движок, по факту это куча костылей разной степени вшивости, в том числе запекания в меши(те же чанки в Майнкрафте) И вообще это вброс, мягкие ткани и воксели вещи несовместимые
@@Dmytro-Tsymbaliuk А если в ткани триллионы вокселей (гипотетически), всё равно не получится моделька ткани, которая может деформироваться от ветра или чтобы её можно было реалистично порвать?
1:50 Вопрос очевидный. Почему технология по автоматическому создания LODов появилась недавно, хотя что трудного при компиляции игры брать модель и просто немного склеивать ближние вертексы?
судя по всем новым играм их никак не оптимизируют, графика 20-летней давности а требования непомерные, и чем дальше тем хуже, будто искусственно завышают
С источниками света есть одна хитрость: можно сделать 2 типа текстур - одна с тенями, другая без. Если пользователь взаимодействует с объектом - делаем свет динамическим (предварительно скрыв запечённые тени😂), после чего можно обновить состояние теней и вновь перевести свет в статическое состояние.
Приведу дичайший пример, который меня как-то давно шокировал: допустим, в игре есть камень. Обычный. Вы взяли камень и положили его в ящик. С этого момента игра начинает проверять 60 раз в секунду, что камень в ящике всё ещё лежит и что все его свойства остались прежними. А потом вы насобирали 10 одинаковых камней в том же ящике, и каждый из которых тщательнейшим образом просчитывается. Заподозрили неладное… а во-о-от когда камней стало 100, то уже точно узнали, что играете неправильно, и вообще ваш компьютер не рассчитан для таких невероятно сложных вычислительных задач. Короче, господа разработчики, не надо так… (っ╹ᆺ╹)っ
Очень интересный ролик про оптимизации. Всегда интересовала эта тема в виду того, что некоторые игры работают прям плавно и с хорошей графикой, а другие фризят даже на низких с просадками фпс.
Спасибо, годное видео) Работаю Техническим Дизайнером в одной студии по разработке мобильных игр, проект - мидкор, но вопрос оптимизации стоит остро, особенно когда апаем качество графики и эффектов в игре. Можешь пожалуйста развить тему оптимизации графики и ресурсов? Использование разных методологий упаковки, батчинг, полигональные атласы и тд?А также ОЧЕНЬ интересно что там по "адекватным" Draw Calls в текущих реалиях)
Сделай видео, со сборкой игр, где по твоему мнению разработчики отлично оптимизировали всё, показывая нам на примерах, ну и понятное дело, объясняй, как сделал бы ты, что сделал бы ты, было бы также интересно
Превью довольно скучное, хоть я и понимаю что не нужно прям красочное превью для объяснения графики, нужно чуть ярче. Люди чаще будут кликать на само видео
3:50 Не сколько времени а какое количество команд для блоков пиксельного и вершиного шейдеров (иногда но не всегда можно переназначить выполнение блоков на вершинный шейдер)
Отличное видео, начинается с общеизвестных фактов, чтобы зацепить пониманием побольше аудитории. На всём протяжении прекрасная музыка на заднем фоне и своевременные вставки с красивым кадром лица автора. Респект тебе автор за такие старания, давно я не видел новых КаКо (качественного контента) производителей на ютубе 🙃😉 Давай в том же духе!
Если собираешь идеи для видео, то мне лично очень бы понравился разбор механики атаки в и играх (ближнего и дальнего боя, боя на мечах, рассказы про хитбоксы, системы попаданий в разных движках, регистрации на сервере и тд) или хотябы инструкцию как сдеоать простенький файтинг)))
- как оптимизируют игры?
- все разрабы игр в 2024 году: "шта? Какая еще оптимизация игр? У нас разве не бета тесты за 8к рублей?"
"но игра же еще в стадии разработки"
Бетатесты за 250+$/€(тарков момент)
очень обидно было за City Skylines 2....
Сарказм смешной
Я играю в """""""НЕ БЕТА ТЕСТ GOREBOX 1.5.5""""""""
Я этого не искал, но мне всегда было интересно узнать об оптимизации
Я тоже хотел узнать,но нифега не понял с первого раза.
жиза
👍🏻
с языка снял
тоже самое
Можно добавить, что мип маппинг не только снижает разрешение текстур, но и убирает мерцание на большой дистанции, когда плотность пикселей текстуры становится больше плотности оных на мониторе. То есть не только производительность, но и корректное отображение.
В GTA 4 такая проблема есть) Но там вроде как мод уже выпустили, который её фиксит
видео так хорошо подготовлено, что создаётся впечатление, что оно подготовлено блогером как минимум с 100к подписчиков
если бы не твой коммент, я бы продолжал думать, что это блогер со 100к подписчиков
@@Joseshoku512 хахах
У него всего 2500 подписчиков??? Я до конца видео думал, что у него 500К не меньше...
РФ страна 404 , искуственно создали, искуственный язык, своего ничего нету, и больше и не будет.
Тема нишевая(видимо даже среди разработчиков), так что не удивительно. Всегда легче просто ныть, чем пытаться разобраться.
103 сотрудника Юбисофт поставили дизлайк.
For Honor просто ебе@шая оптимизацыя даже когда игра только вышла
По факту
Как ты видишь дизлайки?
@@UntoldLonelyвозможно расширение для браузера скачал
@@UntoldLonelyДля ПК есть расширение, для Android есть Revanced UA-cam (считай платный Ютуб , с вырезанной рекламой как от самих блогеров так и от Гугла), в котором показываются дизлайки
таким добрым и приятным голосом отбить напрочь желание создавать ААА игры
(С) Тодд Говард
я не думаю что у тебя есть бюджет на ААА игры, главное чтобы инди не отбил желание создавать
@@veatix4291согласен, потому что, как мне кажется, мир игр держится только благодаря инди. для меня все игры крупных корпораций такие... шаблонные. в каждой открытый мир, шутер, стелс, кутэе, феминистки, лгбтшники и т. д.
@@tupaialoshara жиза
@@tupaialosharaхреновый же у тебя кругозор и восприятие)
Удивительно хороший контент. Хоть я и не имею отношения к разработке игр, но смотрел крайне внимательно, ибо сам играю и тема способов оптимизации достаточно интересна. Я практически никогда не ставлю лайки и не пишу комментарии, но после просмотра видео появилось желание таким образом отблагодарить автора. Спасибо за разнообразие в унылой ленте рекомендаций.
Отличное видео. По ресурсам есть небольшое уточнение. Пример там неудачный. Никто, конечно, не будет загружать и выгружать пулю из памяти каждый раз. Обычно для таких объектов (которые часто необходимы в игре и которых много: пули, враги, etc) используется "пул объектов". Это когда объект не удаляется из памяти, а "скрывается" от глаз игрока. И уже затем, когда пуля вновь необходима - используется "скрытая". Таким образом избегаются частые обращения к медленной памяти, а некоторый запас пуль постоянно лежит в RAM.
А я смотрю, что кто-то шарит
создавать объекты и уничтожать их на лету это конечно верх идиотизма.
Это под капотом движка происходит? В юнити обычно projectile уничтожают после попадания в что-то, либо после таймера - объект исчезает со сцены. Но объект не скрыт от игрока, он просто не существует как объект, но он есть в виде префаба. Получается автор прав🤔
Насколько помню, в некоторых движках есть пулы объектов, из которых нужный объект в нужное время телепортируется. То есть объект существует на сцене, но скрыт.
@@Долой_Уныние нет, это пишется руками программиста. По крайне мере, если мы говорим про юнити. В обычной ситуации, конечно, снаряд уничтожают после попадания. Но если мы хотим оптимизировать нашу игру, то пул объектов является одним из инструментов оптимизации. И, поскольку видео об оптимизации, я и обратил на это внимание.
@@Долой_Уныниепреваб является лишь ассетом в проекте, т.е до инстанта он не находится на сцене. Создание стрельбы всегда требует создания обжект пула.
По поводу динамического удаления объектов - в качестве оптимизации как раз наоборот можно не удалять объекты, а просто прятать и переиспользовать снова, потому что и создание, и удаление объекта - это довольно дорогие операции
Смотря как он используется. Если движок подгрузил какой-то аудио клип который используется лишь однажды (например OST по время загрузочного экрана), то конечно, было бы хорошо удалить этот клип из памяти после завершения загрузки. Хотя, большинство движков не грузят аудиоклипы целиком и полностью, а стримят их по 10-15 секунд. Во всяком случае, это уже ответственность разработчика игры, а не движка - удалять или не удалять объект
@@daniilvinnik4450 конечно, зависит от использования. Но в том примере, что показал автор, лучше будет не удалять
6:55
Те самые пули, которые летят целым патроном)
Пулю можно заменить png картинкой)))
@@drt-do1xh или вообще ток спец еффекты чтоб казалось что пуля есть)))
О только огонь из ствола я уже в 3 играх видел 😂@@NazikcAK47
@@Alexander-np6mg ну вот именно)
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 ФПС без фризов. Наверное это и есть - оптимизация.
Было интересно послушать о оптимизации не только со стороны кода.
Кстати касаемо него. В оптимизации кода есть огромное кол-во ухищрений. Например большую часть физики обычно детерминируют, т.е. делают не привязанной к физическому движу. Это особо заметно,например в ассасинах, когда при прыжках, герой прилипает словно магнит к ближайшим усьупаи. Тоже и в боёвках. Например в солс лайк играх популярна механика парирования. Она реализована не через проверку пересечения коллизий оружия, а через банальные тайминги удара. Игра сравнивает время когда противник и игрок начали атаку для пониания было ли парировние, именно поэтому иногда анимации не соответствуют действиям персонажей. В общем, код тоже интересный пласт в плане оптимизации.)
Со стороны кода ничего и не было описано, большая часть это левел дизайн ухищрения
@@Nikitunr2013 ну почему. Те же лоды, ужимание карт нормалей и прочих материалов, работа со светом, динамическая подгрузка/выгрузка частей мира - это всё вполне себе работа и с кодом
@@JamesListener это всё можно настроить в интерфейсе движка. Называть это работой с кодом, как называть вождение машиной до магазина - работой ремонтника.
Дааа, тебя бьют режущим мечом метра так 5, а ты делаешь УВОРОТ от него, хотя сама текстура меча проходит через твоего перса))
Соулс вообще не логичная в плане драк игра. Извиняться за обиженок не буду
Скиньте это видео Никите Буянову
😂
Ну там нагружает не так графика, как просчет всех предметов, ии диких, пуль, брони и т.д.
Конечного пользователя парить не должно что там происходит. У них бл*дь нормально половина кода не работает. Лоды говна, когда у тебя на дргом конце карты отрисовывается какая-то ненужная херь и тд. Да и клиенту большенство штук нахер не надо. Зачем мне на клиенте инфа о луте больше чем в 40 метрах от меня, не в поле зрения? Это все отмазки для ленивых@@ixont_chmo
Я хоть и не разработчик, но было приятно и интересно послушать такой материал
Сразу видно что разработчики Смуты не смотрели этот видео )
Какой классный канал. Посмотрел 1 видео и сразу влюбился. Такой приятный автор и столько интересного рассказывает по нужной мне теме. Респект
Современные разработчики: а чё, так можно было что ли?!
Всего 5к подписчиков...
Ты реально заслуживаешь большего
Безумно качественно
Это хорошее вводное видео, рассказывающее о том, какие способы оптимизации в играх вообще существуют, но не вдающееся в детали каких-либо отдельных способов.
Отличное видео. Если бы в комментариях не намекнули бы, что тут пока что относительно немного подписчиков, я бы и думал дальше, что здесь 60+ тысяч.
Спасибо за видео
Понятия не имею как попало в реклмендации, но подача, звук и содержание шикарное 🎉
как оптимизируют игры? сейчас походу никак. сейчас вместо этого предлогают включить dlss или генерацию кадров. ну или как тод говард говорят- у нас все отлично, а у вас просто компы слабые.
Очень интересно... Красавчик) с меня лайкос! Но вот с головой ты перебрал у меня складывалось такое ощущение что она вот вот отвалится даже немного было страшно😅
Лоды и без нанита давно делаются автоматически, не в ручную, в ручную только допиливались.
Но в остальном- база, хорошая база для понимания о чём почитать.
Молодец, если будут ролики с примерами использования, буду рад посмотреть.
дизлайки поставили сотрудники БСГ
Смысле не понял
Понятное объяснение, приятный голос, вот бы все ютуберы так понятно объясняли.
Разрабам геншина это видео станет полезным.
Видео такое качественное, звук, картинка, сценарий, ну все приятно смотреть, так ещё и парень такой приятный. Однозначно лайк
"Оптимизация? Я не знаю, что это слово значит, никто не знает, что вы себе придумали, это просто набор звуков" © Альберт Жильцов, глава 1C Game Studios.
Приятный человек, приятно слушать грамотных людей.
Разработчикам смуты надо показать
Ни поможет😢
Поздно
Тю. Смута даже не игра а просто сырая заготовка. Нет смысла в этом
все разрабы: надо делать хорошую оптимизацию нашей игры что-бы в неё комфортнее было играть!
гта 4: -_-
Крутой ролик
Все доступно и понятно, а для хоть чуть понимающих специфику - элементарная база
одна рекомендация (без негатива) - когда включаешь камеру на себя то ощущение что я смотрю какойто цирк и аттракцион с главным исполнением в виде твоей головы, слишком много лишних движений + они почти одинаковые, что создает ощущение что любой кадр с твоей вебкой на себя банально зациклен, эмоции +- также одинаковые, но это не то чтобы минусы или плюсы, просто слишком бросается в глаза то, что вербальная информация никак не соответствует невербальной, много экспрессии, много невербальных акцентов и лишних телодвижений. И нет, это не "я так делаю я так общаюсь", это прекрасно видно что (без негатива) наиграно, поэтому ну, я лично моменты где ты включал вебку просто пропустил потому что я устал смотреть это. Остальный контент лайк +
Хз, как по мне норм😮
Понимаю тебя, испытывал тоже самое при просмотре, так же согласен с автором комментария, без негатива
Бро, вербальная информация не совпадает с невербальной? Больше половины видео состоит из картинок/футажей из движков
Все важные моменты, как полигоны(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), ресурсы (полностью) и т.д. показаны идеально. Вся важная информация была с излишком показана с помощью картинок, причём сильно заметно, что большинство футажей, как с движком, анимацией с текстом и т.д. он делал сам
В моментах когда он включает вебку вообще нету информации, которую надо было бы показать через картинки и т.д. Зачем и как ты покажешь то, что студия ставит своим приоритетом скорость разработки, вместо оптимизаций
Жестикуляция, эмоциональность бросается в глаза? Круто, так автор общается. Каким образом тебе это мешает информацию воспринимать? Не нравится? Смотри тогда куда-нибудь в другое место, когда у него включена вебка
Ты по факту, обесценил труд автора, который сам делал большинство "вербальной информации" сказав, что он слишком часто появляется в кадре и что он слишком эмоциональный
Плюсую. Сам ролик хороший, но трясущаяся голова меня постоянно раздражала
А я даже не обратил внимание. Не критичный момент для меня
Разрабы.
"Мы ограничены технологиями нашего времени. Ой, то есть мы надеемся на FSR и DLSS , и забиваем х... болт на оптимизацию."
nanite работает хорошо только с старшими картами nvidia(в будущем и на amd картах будет работать конечно) но основная масса игроков использует бюджет карты а многие и вовсе на амд сидят а студии никогда не будут делать ставки только на мажоров и делать игры с оптимизацией под возможности ультра дорогого железа, так что до нанит как до луны пешком учитывая что до сих пор нет более продвинутого сжатия текстур а как мы знаем из за нанита игры могут весить под терабайт и более . вангую эта технология через лет 10 будет использоваться масштабно
для тех кто решил что пулю лучше скрыть чем удалить. Ну начнем с того что есть 2 типа удаления, выпилить из памяти видеокарты и выпилить из логической обработки. для игрока эффект будет одинаковый, для системы во втором случае использовать 0,1, 1000 пуль разницы большой не будет если движок правильно написан
теперь узнал, "да кто такой этот ваш" mip-map
Я как разработчик игрового 3D движка могу сказать что в большинстве случаев в видео все правильно сказано. Агрессивный лодинг, оптимизация света (в особенности), правильное управление потоками CPU реально помогают уменьшить время кадра. Только 2 единственных момента, но это по мелочи - camera culling называют frustum culling, и еще - не mesh shEders, а mesh shAders, хотя я уверен что это просто опечатка)) я как раз эти меш шейдеры щас реализую в своем движке
Прикольно, а на что нацелен движок? Я вот свой пилю для стратегий(пока пошаговая)
надо раскрыть эту тему не на 5 мин, а на пару часов с примераи и разбором каждой части, например есть еще bsp, bvh... сделать сравнительные тесты про приросту. рассказать о стрктурных проблемах, паттернах когда в одном случае это актуально, в другом иное. Профессионально подойти как к докладу, без пафоса
Вот так оптимизируешь, оптимизируешь и получаешь далеко не тот уровень детализации, который планировал изначально, а лучше сделать нельзя, т.к. это либо будет невероятно долго, либо затратно(как для разработчика, так и для потребителя, который банально не сможет поиграть даже на своём пк за 100-150 тыс.) Можно конечно попробовать разные способы заработка и/или потратить пол жизни на создание идеальной игры, но вопрос справишься ли ты физически(не говоря уже о моральном состоянии)
щас игры делают со словами "у кого нет ртх 4090 тому соболезнуем". в то же время 4090 кадров от 60-140, тормоза
Очень круто быстро всё обьяснил, мне как начинающему разработчику было очень интерестно посмотреть. Однозначно лайк
Таким милахой на превью получился)
Хорошая подача, приятный голос и манера речи и взгляд добрый и простой
Настолько интересно рассказал, что я аж вместо того, чтобы заснуть под видик взял телефон и посмотрел. Определенно лайк 👍
Кстати о гильзах и пулях. Ты мне объясни, почему в алиен шутере на 256мб оперативки сохранялись ВСЕ десятки тысяч гильз и повреждений на стенах от выстрелов, а в освременных играх при 16 гб рам гильз не больше 64 и пропадают они спустя минуту?
Всегда хотел узнать как оптимизируют игры
Благо есть такие простые и понятные видео
Спасибо автору, видео однозначно заслуживает лайк.
Я тоже желаю хорошей оптимизации жизни, потому что от вашей оптимизации будет зависеть какой пакет данных мы получим на выходе...
Идеал - цель не достижимая, цель всегда меняющаяся по возможностям и приоритетам.
Не стремитесь к идеалу, но стремитесь к балансу под требуемую среду.
(это всё очень актуально каждую секунду нашей жизни. Нас самих и нашей ответственности в облике живого существа, будь то для начала домашний питомец или маленький человечек...неправильное планирование и распределение ресурсов может иметь печальный характер, но разной степени возможности исправить всё с меньшими или большими затратами или вообще оказаться в терминальной стадии точки невозврата. Цените эту жизнь и каждое её мгновение)
очень интересная тема и само видео выполнено качественно. лайк, удачи тебе в дальнейшем на ютубе
Видел похожее видео от XYZ, но там просто набросали умных слов и всё. А тут прямо +/- доходчиво и понятно. Спасибо
Спасибо, не знал о некоторых способах.
так мало роликов по делу, которые достаточно подробно рассказывают про тему
крайне приятный ролик
Блин, какой же ты милаха и симпотяга, я влубился :)
Было очень интересно и познавательно. Я хоть и не эксперт, но отчасти догадывался о некоторых функциях, изложенных в видео. Однако одно дело догадываться и другое узнать как оно работает на самом деле! Пожалуй подпишусь, хочу время от времени видеть такого интересного парня в своей ленте.
7:00 пример с пулями не полон, либо не удачный, так-как это регулярно используемый объект. Создание/удаление объектов - это тоже издержка. пулю при попадании следует не удалять, а "отключать" и прятать под землю. При очередном выстреле, пулю следует создавать только при нехватке выключенных, а иначе включить ту что есть.
Какой молодец. Контент на миллион подписчиков! Лайк
продолжай делать видео в этом напровлении !! хорошо выходит у тебя и голос приятный
Отличный видос,задумался над тем,что в будущем разрабы будут просто меньше оптимизировать игры,тем самым улучшая "детализацию"
Жаль, что в видео говорится в основном только про графику. Есть ведь ещё ИИ и другие стимуляции, помимо физических. Например стимуляция рынка или генерация мира.
Это всё тоже нужно оптимизировать, если чо.
Качество видео на уровне 👍
Спасибо, очень понятно, и голос приятный
2:07 а разве не добавили эту возможность? В новой демке появились листья на деревьях и прочая мишура
в ручную лоды? дf, можно и в ручную, но уже с середины 2000х в играх используют Simplygon, который эти лоды генерит автоматически.
Динамик мешь лод появились очень давно, ещё помню презенташку от нвидии года эдак 2004 вроде, просто тогда это было не эффективно.
Если можно, хотелось бы более подробных видео с большим разбором подробностей и т.п. Но в целом видео хорошие и интересные
Классное видео, спасибо, посмотрю ка что ещё есть на канале
Прекрасная подача и голос. Очень интересно и понятно. Термины, изображения и видео. Все очень интересно. От начала и до конца не заметил как все просмотрел. Спасибо
Крайне качественное и интересное видео, спасибо!
Слушайте, а почему тогда при изменении графики в определенных играх фпс может даже и не измениться?
То есть картинка + текстуры мыльные, а фпс не больше и не меньше.
Ограничение кадров у тебя стоит, либо говноРазрабы, типо этого что нам впаривает свой лагучий Unreal Engine и подперает костылями с 16 Гб оперативки, так как не очистили указатель и память замусориваеться. Да и этот автор совсем мало знает про оптимизацию игр; Camera Cooling 😣
если при смене графики с высоких на низкие, у тебя не повышается ФПС, значит у тебя упор в процессор, процессор не может дать больше кадров видеокарте(Ведь на уровне обработки движка, важен только процессор, то как он обрабатывает движок игры(То есть практически ВСЁ, ЧЕГО ты НЕ ВИДИШЬ в игре, это всё делает процессор), а то что ты ВИДИШЬ, уже РИСУЕТ видеокарта на основе того, что процессор дает ей кадры(Успевает обрабатывать движок игры, чем быстрее он обрабатывает все входящие в него данные, которые отдает ему оперативка, после чего заносится в его КЭШ-память). Есть другая сторона медали, что если у тебя топовейший процессор, но слабая видеокарта, там уже на высоких настройках наоборот, видеокарта будет брать на себя больше, но из-за того что она слабая, будет выдавать мало кадров(Хотя процессор допустим ей дает хоть 100, хоть 200, хоть 300 кадров, но видюха у тебя упёрта в 100%, и не может эти кадры отрисовать, не успевает, в этом случае приходит на помощь технологии по типу DLSS и FSR)
фпс зависит от процессора, видюха просто нагружает процессор графикой
@@user-izolbuj Нет, на видюху идёт только Графический конвеер, рейтрейсинг, отрисовка картинки с последующей растаризацией, а проц на всё остальное, и если игра не поддерживает многопоточность, то игра может дико лагать, пример: Майнкрафт, поддерживает только два потока, так как разрабы, кроме Нотча, скривожопили и игра лагает даже на I9 core при взрыве динамита. А на слабых пк, новые версии майна запускаются с 25 фпс, это для меня, как програмиста дико...
@@xoroshiytip4749 Я про что код отрисовки кадров выполняет процессор
Как всё сложно, это нужно всю жизнь посвятить делу.
Отличное видео, просто и понятно объяснено всё, спасибо!
Приятный ролик на интересную тему, подписался)
Вау! Очень качественно изложен материал. Влюбился. Подписался. Спасибо!
Путь который выбрали люди в создании 3д графики, а именно сетку из полигонов исключает реализм. Все выглядит слишком искусственно.
Другое дело воксели. По сути частицы, аналог молекул, из которых могли бы состоять объекты, которые можно крошить в порошок. Если в будущем и создадут что-то похожее на Матрицу, или какую нибудь симуляцию - то только с помощью них. И зачем тогда вообще нужно было идти по лёгкой тропинке из полигонов? Прятать грани там, где мы не можем их увидеть, ради оптимизации. Когда могли сразу начать с вокселей
В реалиях текущего железа это просто не получится, вокселей будет ну уж слишком много и каждый хранит информацию об состоянии
Я отлично знаю, каково это делать воксельный движок, по факту это куча костылей разной степени вшивости, в том числе запекания в меши(те же чанки в Майнкрафте)
И вообще это вброс, мягкие ткани и воксели вещи несовместимые
@@Dmytro-Tsymbaliuk А если в ткани триллионы вокселей (гипотетически), всё равно не получится моделька ткани, которая может деформироваться от ветра или чтобы её можно было реалистично порвать?
Интересная тема, динамичная подача. Автор красавчик👍
Все по факту, и без воды спасибо!)
1:50 Вопрос очевидный. Почему технология по автоматическому создания LODов появилась недавно, хотя что трудного при компиляции игры брать модель и просто немного склеивать ближние вертексы?
Очень странно, что кого-то реально смутили жесты или эмоции, никаких проблем с видео Не увидел, очень круто и интересно, спасибо!
судя по всем новым играм их никак не оптимизируют, графика 20-летней давности а требования непомерные, и чем дальше тем хуже, будто искусственно завышают
Просто нужно заработать как можно больше денег. А на оптимизацию уже давно забивают болт(причём, огромный).
5:03 Мне кажется или в ролике рассинхрон звука и видео?
С источниками света есть одна хитрость: можно сделать 2 типа текстур - одна с тенями, другая без. Если пользователь взаимодействует с объектом - делаем свет динамическим (предварительно скрыв запечённые тени😂), после чего можно обновить состояние теней и вновь перевести свет в статическое состояние.
Рекомендуется просмотр разработчикам мобильных игр
Очень классное видео.
Высококлассный контент, благодарю за четкую структуру материала)
Мог бы ты взглянуть на оптимизацию в скваде
У тебя rode nt1-a? Подскажи чепочку плагинов, которые используешь, нравится твой звук
Приведу дичайший пример, который меня как-то давно шокировал: допустим, в игре есть камень. Обычный. Вы взяли камень и положили его в ящик. С этого момента игра начинает проверять 60 раз в секунду, что камень в ящике всё ещё лежит и что все его свойства остались прежними. А потом вы насобирали 10 одинаковых камней в том же ящике, и каждый из которых тщательнейшим образом просчитывается. Заподозрили неладное… а во-о-от когда камней стало 100, то уже точно узнали, что играете неправильно, и вообще ваш компьютер не рассчитан для таких невероятно сложных вычислительных задач.
Короче, господа разработчики, не надо так… (っ╹ᆺ╹)っ
Отличное видео, таких как вы не хватает, за 11 минут всё как надо
Я это не искал, я фронтендер и люблю в игрушки поиграть, но, спасибо, за интересное и главное понятное объяснение :)
Очень интересный ролик про оптимизации. Всегда интересовала эта тема в виду того, что некоторые игры работают прям плавно и с хорошей графикой, а другие фризят даже на низких с просадками фпс.
Спасибо, годное видео) Работаю Техническим Дизайнером в одной студии по разработке мобильных игр, проект - мидкор, но вопрос оптимизации стоит остро, особенно когда апаем качество графики и эффектов в игре.
Можешь пожалуйста развить тему оптимизации графики и ресурсов? Использование разных методологий упаковки, батчинг, полигональные атласы и тд?А также ОЧЕНЬ интересно что там по "адекватным" Draw Calls в текущих реалиях)
Сделай видео, со сборкой игр, где по твоему мнению разработчики отлично оптимизировали всё, показывая нам на примерах, ну и понятное дело, объясняй, как сделал бы ты, что сделал бы ты, было бы также интересно
Отличное видео! Желаю как можно больше просмотров и подписчиков данному каналу. Подписываюсь!
Это видео надо разрабам смуты показать
Превью довольно скучное, хоть я и понимаю что не нужно прям красочное превью для объяснения графики, нужно чуть ярче. Люди чаще будут кликать на само видео
А мне превью нравится
3:50 Не сколько времени а какое количество команд для блоков пиксельного и вершиного шейдеров (иногда но не всегда можно переназначить выполнение блоков на вершинный шейдер)
Отдельное спасибо за примеры
Спасибо! Всё чётко и без воды !
Видео супер, большой патенциал, автор красавчик👍
Отличное видео, начинается с общеизвестных фактов, чтобы зацепить пониманием побольше аудитории. На всём протяжении прекрасная музыка на заднем фоне и своевременные вставки с красивым кадром лица автора. Респект тебе автор за такие старания, давно я не видел новых КаКо (качественного контента) производителей на ютубе 🙃😉
Давай в том же духе!
Если собираешь идеи для видео, то мне лично очень бы понравился разбор механики атаки в и играх (ближнего и дальнего боя, боя на мечах, рассказы про хитбоксы, системы попаданий в разных движках, регистрации на сервере и тд) или хотябы инструкцию как сдеоать простенький файтинг)))
да