К сожалению на ДТФ и много где, очень много псевдо экспертов.
UE как и любой другой движок игровой, это инструмент. И все эти инструменты имеют определенные проблемы, которые надо решать в конкретном продукте.
На данный момент, UE 5 все еще имеет костыли, чуть ли не со времен первого UE, а его исходник сплошь и рядом покрыт макросами и спагетти-кодом. Самый маленький объект в UE весит больше 56 байт. (64 битная переменная весит 8 байт) Минимальная сущность в 3Д пространстве UE, это Actor, размер которого уже превышает 1000 байт, на простейший объект. Т.е. если в игре нам надо постоянно создавать или удалять что либо, например пулю. Каждая пуля будет весить МИНИМУМ килобайт. Добавь туда компонент меша - это еще килобайт + указатель на меш + указатель на материал. И вот твоя пуля уже весит 5 килобайт, хотя все пули друг от друга будут отличаться всего лишь матрицей трансформацией и вектором движения, а это дай бог,96-120 байт (~96 на три вектора матрицы и 24 байта на вектор движения от физики). Т.е. все пули будут отличаться друг от друга 120ю байтами, но сжирать будут в пятьдесят раз больше. От чего банально аллокация памяти будет жрать как не в себя.
Тут надо оптимизировать, например пулить такие объекты или не удалять их с концами, а выводить из игровой сцены и добавлять обратно. Либо рендерить много мешей, а физически пулю как объект не создавать.
(Для пруфа - качаем шаблон шутера от первого лица в движке, делаем 300 копий игрока и заставляем их всех стрелять единовременно. Движок начнет задыхаться по аллоцированию снаряда, т.к. операция создания объекта сама по себе дорогая)
Еще например, что бы ты понимал, они многопоточку для рендера, подключили только на 5.3 и та страдает из за долгой синхронизации. Т.е. до этого, еще UE4 использовал один процессорный поток для работы с процедурной геометрией и кучей других вещей, которые происходят перед отправкой данных в ГПУ.
(Т.е. у тебя в мультипотоке, могли разлететься по физики миллион физических объектов, но на рендер кадре, они должны в одном потоке, все миллион объектов считаться и обновить свои позиции, что бы в кадре они собственно и разлитались)
До появления люмена и нанита, одного потока в целом хватало на все, но вот незадача.
Нанит, требует много процессорного времени для предварительной обработки кадра. перед тем, как уже ГПУ расчитает все остальное.
Люмен аналогично. Он так же выполняет не маленькую процессорную работу, перед тем как ГПУ начнет все остальное рисовать.
И вот тут появилось бутылочное горлышко. На 5.3 они воткнули мультипоток, но там мьютексы тупо фреймтайм жрут
В итоге, что бы работать с этим движком, ты не просто должен нанять толпу дизайнеров и парочку программистов, которые механики кодят. Тебе нужен именно специалист, который знает весь пайплайн разработки, как писать рендер, как писать физику, который умеет читать чужой код (исходники эпиков), разбирается в ОС и хардваре, что бы определять узкие места в продукте и знать что оптимизировать. В идеале знать всю теорию компиляторов, а не просто монкей-код писать.
Вот вы можете угорать, но у mail.ru крутые спецы были на UE (Сейчас я не слежу за ММО рынком). Лекции по пайплайну и оптимизации по UE от них можно многим зарубежным "спецам" с ютуба в лицо тыкать. Хотя какой нибудь хипстер увидев их - убежит в ужасе со словами: "Я ПРОСТО ВКЛЮЧУ ЛЮМЕН! ЗАЧЕМ МНЕ ФЕЙКОВУЮ ГЕОМЕТРИЮ ДЕЛАТЬ, ЗАЧЕМ МНЕ СПЕКАТЬ МЕШИ, ЗАЧЕМ МНЕ СНИЖАТЬ РАЗРЕШЕНИЕ ДЛЯ АО ТЕКСТУР, ЗАЧЕМ МНЕ ЛОДЫ И БИЛБОРДЫ?! И ПОФИГУ ЧТО У ЭТОЙ АРКИ 2 000 000 ПОЛИГОНОВ! (нет, люмену не пофигу)"
Unreal Engine 4, Gears of War 5, ультра настройки, 1080p, 60 FPS Vsync, загрузка GPU 30% (6700XT). Игра при этом до сих пор выглядит в 100 раз лучше, чем любая конченная параша на Unreal Engine 5, которую ещё сверху надо уродовать FSR/DLSS "производительность" 540p, чтобы не лагало. Вывод: движок хороший, просто Хуанг поднасрал игрокам со своим DLSS и Frame Degeneration вместо чистой производительности Cuda ядер и нормального количества видеопамяти, а разработчики только рады меньше заниматься допиливанием игры. В этом плане Лиза Су молодец - продлила жизнь FSR-ом видеокартам RTX 2000 серии и старше своих врагов, вечных фанатиков Нвидиа, которые так и будут сидеть на старье до последнего, как это было с GTX 750 Ti, чтобы потом купить зелёную карту и снова быть кинутым с поддержкой, и в этот раз, ещё и обрубок за оверпрайс с 8 ГБ и 8 линиями PCI.
ага, а уж геймеры как хайповали после демки матрицы, дескать, вы посмотрите на это чудо, на эти анимации, на эти текстуры, на эту физику. я ещё тогда говорил, что это демо - просто тупая реклама, в играх так не будет. и я оказался прав.
Чушь, уе сейчас все юзают, потому что на нем дешевле и проще разрабатывать, а проблему статтеров и низкого ФПС решают "ну обновите комп" или полгода-год патчей и это если игра прибыль приносит, могут и болт забить
самый технологичныйВерно. удобныйТоже верно оптимизированныйТут уже дело не в движке. Это типичный пример ошибки 1D-10T - проблема существует между креслом и клавиатурой.
Проблема в том что нормально работать с уриной могут только сами создатели движка, остальные кладут болт на оптимизацию и фишки движка, тоже самое с фростбайт 3 было, нормально понимать движок могут только его создатели
Ой, на дтф же говорили, что урина энжин самый технологичный, удобный и оптимизированный движок. Как же так?
К сожалению на ДТФ и много где, очень много псевдо экспертов.
UE как и любой другой движок игровой, это инструмент. И все эти инструменты имеют определенные проблемы, которые надо решать в конкретном продукте.
На данный момент, UE 5 все еще имеет костыли, чуть ли не со времен первого UE, а его исходник сплошь и рядом покрыт макросами и спагетти-кодом. Самый маленький объект в UE весит больше 56 байт. (64 битная переменная весит 8 байт)
Минимальная сущность в 3Д пространстве UE, это Actor, размер которого уже превышает 1000 байт, на простейший объект. Т.е. если в игре нам надо постоянно создавать или удалять что либо, например пулю. Каждая пуля будет весить МИНИМУМ килобайт. Добавь туда компонент меша - это еще килобайт + указатель на меш + указатель на материал. И вот твоя пуля уже весит 5 килобайт, хотя все пули друг от друга будут отличаться всего лишь матрицей трансформацией и вектором движения, а это дай бог,96-120 байт (~96 на три вектора матрицы и 24 байта на вектор движения от физики). Т.е. все пули будут отличаться друг от друга 120ю байтами, но сжирать будут в пятьдесят раз больше. От чего банально аллокация памяти будет жрать как не в себя.
Тут надо оптимизировать, например пулить такие объекты или не удалять их с концами, а выводить из игровой сцены и добавлять обратно. Либо рендерить много мешей, а физически пулю как объект не создавать.
(Для пруфа - качаем шаблон шутера от первого лица в движке, делаем 300 копий игрока и заставляем их всех стрелять единовременно. Движок начнет задыхаться по аллоцированию снаряда, т.к. операция создания объекта сама по себе дорогая)
Еще например, что бы ты понимал, они многопоточку для рендера, подключили только на 5.3 и та страдает из за долгой синхронизации.
Т.е. до этого, еще UE4 использовал один процессорный поток для работы с процедурной геометрией и кучей других вещей, которые происходят перед отправкой данных в ГПУ.
(Т.е. у тебя в мультипотоке, могли разлететься по физики миллион физических объектов, но на рендер кадре, они должны в одном потоке, все миллион объектов считаться и обновить свои позиции, что бы в кадре они собственно и разлитались)
До появления люмена и нанита, одного потока в целом хватало на все, но вот незадача.
Нанит, требует много процессорного времени для предварительной обработки кадра. перед тем, как уже ГПУ расчитает все остальное.
Люмен аналогично. Он так же выполняет не маленькую процессорную работу, перед тем как ГПУ начнет все остальное рисовать.
И вот тут появилось бутылочное горлышко.
На 5.3 они воткнули мультипоток, но там мьютексы тупо фреймтайм жрут
В итоге, что бы работать с этим движком, ты не просто должен нанять толпу дизайнеров и парочку программистов, которые механики кодят. Тебе нужен именно специалист, который знает весь пайплайн разработки, как писать рендер, как писать физику, который умеет читать чужой код (исходники эпиков), разбирается в ОС и хардваре, что бы определять узкие места в продукте и знать что оптимизировать. В идеале знать всю теорию компиляторов, а не просто монкей-код писать.
Вот вы можете угорать, но у mail.ru крутые спецы были на UE (Сейчас я не слежу за ММО рынком). Лекции по пайплайну и оптимизации по UE от них можно многим зарубежным "спецам" с ютуба в лицо тыкать.
Хотя какой нибудь хипстер увидев их - убежит в ужасе со словами: "Я ПРОСТО ВКЛЮЧУ ЛЮМЕН! ЗАЧЕМ МНЕ ФЕЙКОВУЮ ГЕОМЕТРИЮ ДЕЛАТЬ, ЗАЧЕМ МНЕ СПЕКАТЬ МЕШИ, ЗАЧЕМ МНЕ СНИЖАТЬ РАЗРЕШЕНИЕ ДЛЯ АО ТЕКСТУР, ЗАЧЕМ МНЕ ЛОДЫ И БИЛБОРДЫ?! И ПОФИГУ ЧТО У ЭТОЙ АРКИ 2 000 000 ПОЛИГОНОВ! (нет, люмену не пофигу)"
кривые руки никто не отменял. а кнопку "сделать заебись" в анриле так и не создали
Так и есть, топоаый движок с передовыми технологиями. Тут дело в кривых руках, ты портфолио разработчиков СХ2Р видел?
Эти криворукие даже на УЕ4 свой медиум не смогли сделать нормально
Unreal Engine 4, Gears of War 5, ультра настройки, 1080p, 60 FPS Vsync, загрузка GPU 30% (6700XT). Игра при этом до сих пор выглядит в 100 раз лучше, чем любая конченная параша на Unreal Engine 5, которую ещё сверху надо уродовать FSR/DLSS "производительность" 540p, чтобы не лагало.
Вывод: движок хороший, просто Хуанг поднасрал игрокам со своим DLSS и Frame Degeneration вместо чистой производительности Cuda ядер и нормального количества видеопамяти, а разработчики только рады меньше заниматься допиливанием игры. В этом плане Лиза Су молодец - продлила жизнь FSR-ом видеокартам RTX 2000 серии и старше своих врагов, вечных фанатиков Нвидиа, которые так и будут сидеть на старье до последнего, как это было с GTX 750 Ti, чтобы потом купить зелёную карту и снова быть кинутым с поддержкой, и в этот раз, ещё и обрубок за оверпрайс с 8 ГБ и 8 линиями PCI.
ага, а уж геймеры как хайповали после демки матрицы, дескать, вы посмотрите на это чудо, на эти анимации, на эти текстуры, на эту физику. я ещё тогда говорил, что это демо - просто тупая реклама, в играх так не будет. и я оказался прав.
Чушь, уе сейчас все юзают, потому что на нем дешевле и проще разрабатывать, а проблему статтеров и низкого ФПС решают "ну обновите комп" или полгода-год патчей и это если игра прибыль приносит, могут и болт забить
оптимизированный? нет.
чтобы его оптимизировать, нужно иметь руки прямые, а не руки кривые
Dontnod смогли сделать игру на 5ке и ничего. Идеально работала на любом ведре
На дтф? По-моему, кроме как обхуесошивания анрила со всех сторон по поводу и без, я ничего тут не видел🤔
Странно, АХ был на уе и не тормозил при отличной графике
Просто series S тормозит индустрию, в этом проблема
"лучший не значит хороший, значит остальные еще хуже"
У анрила тупо нет конкурентов.
Они и продолжают это высирать, лол, даже когда их мордой в их же собственное дерьмо макнули.
Ну Батталия же смог пофиксить хотя бы как то. А разрабы даже это не смогли.
Вот бы кто-то сказал, что сейчас разрабы заебись и выжимают всё из движков
самый технологичныйВерно.
удобныйТоже верно
оптимизированныйТут уже дело не в движке. Это типичный пример ошибки 1D-10T - проблема существует между креслом и клавиатурой.
Проблема в том что нормально работать с уриной могут только сами создатели движка, остальные кладут болт на оптимизацию и фишки движка, тоже самое с фростбайт 3 было, нормально понимать движок могут только его создатели
тоже смотря где. пока что хорошо оптимизрованных и красивых игор на нём исчезающе мало. the finals, наверное, можно брать как эталон использования уе5
хотя глядя на то, как те же пятые гири выглядят на уе4, я бы сказал, что разработчики слишком рано побежали пилить свои проекты на уе5