Gamedev Maltsev Denis
1 884

Релиз Unreal Engine 4.22

Красивая картинка для привлечения внимания Epic Games
В закладки

Вчера вечером в релиз вышла новая версия движка Unreal Engine. Основная "фишка" этой версии - Ray Tracing и Path Tracing в реальном времени. Пока в Early Access и на карточках от nVidia, но в будущем наверняка расширят поддержку железа и ОС.

Так как рейтрейсинг сильно увеличивает число объектов, которые надо нарисовать, то улучшениям подвергся и блок, отвечающий за отрисовку мешей - Mesh Drawing Pipeline.

Для С++ разработчиков добавили интересную фишку, под названием Live Coding. Если программист правит CPP файл (не заголовочный, а именно CPP), то происходит быстрая пересборка проекта и в редакторе сразу можно видеть изменения.

Пример Live Coding

Добавлена поддержка Visual Studio 2019, которая вчера тоже вышла в релиз. Плюс сократили время сборки движка из исходников и самих проектов на этом движке.

Подробное описание обновления на английском языке тут:

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Maltsev Denis", "author_type": "self", "tags": [], "comments": 57, "likes": 54, "favorites": 18, "is_advertisement": false, "subsite_label": "gamedev", "id": 45449, "is_wide": false, "is_ugc": true, "date": "Wed, 03 Apr 2019 18:47:14 +0300" }
{ "id": 45449, "author_id": 92857, "diff_limit": 1000, "urls": {"diff":"\/comments\/45449\/get","add":"\/comments\/45449\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/45449"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }

57 комментариев 57 комм.

Популярные

По порядку

Написать комментарий...
1

Так как рейтрейсинг сильно увеличивает число объектов, которые надо нарисовать

Это не так работает :)

Ответить
7

Вы всегда рисовали все объекты не попавшие в поле зрения камеры? У меня для вас плохие новости...

Ответить
0

Если речь шла об отражениях, то как иначе?

Ответить
4

Угу, иначе.

Ответить
–2

А если не рисовать отражения с помощью рейтрейсинга? Тогда число объектов не увеличится.

Ответить
1

Это видео с GDC2019. В нем они хорошо объясняют, что дает основную нагрузку на кадр и как это дело оптимизировать. И если в материале можно узнать отраженный он или нет и выдать упрощенный расчет, то вот геометрию сильно порезать не всегда получится. Самое интересное, что рейтрейсинговые тени, наоборот снижают нагрузку на геометрию :)

Ответить
4

Встроенный автоинстансинг просто отлично работает.
Надеюсь с 23 и 24 не будут сильно затягивать.

Ответить
2

Так как рейтрейсинг сильно увеличивает число объектов, которые надо нарисовать, то улучшениям подвергся и блок, отвечающий за отрисовку мешей - Mesh Drawing Pipeline.

Не так. Рейтрейсинг должен просчитывать отражения объектов, которые не видны в камере, а потому их тоже нужно держать в памяти, а не отсекать всё за границами обзора, как это обычно делается. Впрочем, рефакторинг Mesh Drawing Pipeline у них давно планировался.

Ответить
–12

и как всегда оптимизации полный ноль

Ответить
3

Эм... Вы, мягко говоря, лжете. Даже у меня в новости указана как минимум одна оптимизация.

Ответить
–27

а у меня есть как минимум 1 доказательство что в 4 анриале нету оптимизации

Ответить
13

Доказательство наличия кривых рук у разработчиков.

Ответить
–18

второй пример отсутствия оптимизации в анриал 4

Ответить
9

Заявление из разряда "Вчера написал змейку на С++, у меня лагает, язык отстой"
Вы бы ещё Atlas привели как пример

Ответить
–3

не я писал игру и обе игры не вчера вышли

Ответить
3

Rocket league
A Way Out
Darksiders 3
Days Gone
Kingdom Hearts 3
Sea of Thieves
SOULCALIBUR VI

как бы намекают на то, что вы балабол.

Ответить
1

Days Gone разве вышла?

Ответить
0

а ее выход внезапно поменяет технологии, на которых она разрабатывалась?)

Ответить
–7

я тебе тоже намекаю

Ответить
0

Пишу о том, что отлично оптимизированная игра сделана на движке UE.

Кидает скриншот, что игра сделана на движке UE.

/facepalm

Ответить
–6

я пишу о 4 анриале, а не о 3, дурак

/facepalm

Ответить
2

как будто студии используют стоковые движки, гспди.

откуда вы такие беретесь

Ответить
2

Фортнайт доказательство оптимизации анрила. А сделать плохо много ума не надо, на чем угодно

Ответить
–12

Фортнайт

Я какахи никогда не привожу в пример

Ответить
15

Неправда

Ответить
–3

я сказал что какахи не привожу в пример, но пабг это по сути неплохая игра, но отсутствие оптимизации и отношения разработчиков плохое

Ответить
3

уууу, как все запущено

Ответить
1

пубг, в котором основной геймплейный луп это "высадиться, походить и сдохнуть от пули, которая непойми откуда прилетела"

неплохая игра

Лол.

Ответить
0

но отсутствие оптимизации и отношения разработчиков плохое

Ответить
–1

тяжело вам наверное живется, сожалею.

Ответить
3

Мне казалось это подсайт геймдева. И технологически игра очень хороша.

Ответить
1

Вы находитесь в разделе gamedev. Ныть идите в другом месте.

Ответить
1

Возможность работать над уровнем в мультиплеере это просто пушка!)

Ответить
0

Это то что реально способно ускорить работы.

Ответить
0

Если программист правит CPP файл (не заголовочный, а именно CPP), то происходит быстрая пересборка проекта и в редакторе сразу можно видеть изменения.

в Юнити на си шарпе при более-менее серьезной кодобазе это подвешивало редактор на несколько минут. Интересно насколько Анреал будет тормозить

Ответить
1

Потестировал, изменение в cpp файле из 2.5к строк (все сорцы больше 3 мб, не знаю уж сколько строчек) применились за 27.464s

Total execution time: 24,79 seconds (компиляция, не самый последний проц у меня)
Successfully linked patch (1.443s)
Patch creation for module Binaries\Win64\MY.dll successful (2.404s)
———--— Finished (27.464s) ———--—

Ответить
0

нууу такое. А до этого сколько было?

Ответить
1

Проверил (округлял вверх)

После компиляции редактор полностью грузится через 20 секунд (подгрузка дебаг символов)

После первой загрузки до реакции на нажатие плей проходит 1:55 (прогоняет все блюпринты)

Тестовая карта на 1к акторов грузится 9 секунд.

Вот и считай, вместо 2 минут 15 секунд (или 2:25) 3.5 секунды.
Даже если убрать все блюпринты то один только чистый старт медленнее чем live++.

Для чистоты эксперимента можно на маленьком проекте проверить, возможно прироста нет особо.

Ответить
0

Проверяли на SSD или Hdd?

Ответить
1

SSD, на одном и движок и проект.
VS тоже на SSD но другом.

Ответить
0

Ну считай компиляция те же 24,79
Стартует редактор не 3.5 секунды а минуты 2, от стадии "скомпилилось" до "открылась нужная тестовая карта и сработал плей", он же ещё на старте бплюпринты проверяет а их вагон в проекте.

Т.е. для меня это очень круто. Сейчас проверю точно сколько обычный старт занимает.

Ответить
0

Да, но ещё интереснее, когда при ошибках в коде перестанет валиться редактор.

Ответить
0

Не, речь о багах в пользовательском коде, которые приводят к падению всего редактора.

Ответить
2

Тогда ответ - никогда.

Ответить
0

Ну хрен его знает, можно же ловить эксепшен и хотя бы ассеты сохранять.

Ответить
3

Отказ от обработки исключений - принципиальная позиция, делается ради производительности. С точки зрения архитектуры движка, модуль твоей игры ничем не отличается от собственного runtime-модуля движка, и у него точно такие же права. А потому если ты не прописываешь нужные макросы и не делаешь нужные проверки, то падать будет жестко.

Ответить
0

Прописываю, делаю, всё ж не вчера на плюсах писать начал. Но иногда последовательности действий, которые требует движок для корректной работы, весьма неочевидны. В такие моменты бывает обидно.
И я не уверен, что обработка исключений будет заметной на фоне их системы рефлексии.

Ответить
1

Это до тех пор пока не упадет в плагине меняющем ассеты :)

Ответить
0

Я видео с примером ниже прикрепил. Если не постановочное, то вполне пригодно для использования.

Ответить
0

Но стим - но бай

Ответить
1

Кстати, цитата из статьи: "Using UE4 with Steam has never been easier!" :)

Ответить
0

А каком релизе разрушемось которую показали в ролике на GDC?

Ответить
0

Превью Хаоса обещают в 4.23.

Ответить
0

Срочно 10 кубиков переносимости с++! Сестра!

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Узнавайте новости о мостах
Санкт-Петербурга первыми
Подписаться на push-уведомления