Оптимизация игры на Unreal Engine

Начинающий
Статус
Оффлайн
Регистрация
10 Авг 2020
Сообщения
134
Реакции[?]
14
Поинты[?]
0
У меня небольшой проект, но fps довольно низкий: деревья с procedural foliage volume - с лодами, минимальный лод у меня уже на 3 уровне (400 полигонов), из 5 (биллборд). С каллингом на 20 метров (сцена такая, что на дальше не нужно).
Landscape небольшой, но у него шейдер имеет разные слои, а также тесселяцию. Всего использую на нём 5 слоёв, в принципе ничего не обычного.
Имеются аттаченные к игроку particle effect и динамичный источник света.
Если сцену поставить как Unlit - то всё будет идти довольно плавно. Если Lit - игра начинается с 30fps, после чего постепенно (я думаю, это тоже важно) падает до 1.
Освещение у меня целиком динамичное, ибо во-первых на 4.22 освещение не билдится вообще, во-вторых у меня имеется daynight cycle. Почему не использую поздние версии движка - 4.23 еще более забагован, а на 4.24+ убрали Gaussian Blur, что мне нужен для проекта.
Также имеется пост-процесс, с уже упомянутым блюром, lut-картой, AO эффектом, bloom и lens flares. Можно AO как-то запечь?
Как можно оптимизировать сцену?

upd:
Вспомнил, у меня еще настройки графики в меню игры есть. Так вот, даже на low всё постепенно падает до 1 fps.
Может сейчас возникнуть впечатление, что у меня слабый компютер, но он у меня топовый и дело не в нём.
 
Пользователь
Статус
Оффлайн
Регистрация
12 Сен 2020
Сообщения
58
Реакции[?]
89
Поинты[?]
17K
это поможет узнать, какие характеристики есть у вашего компьютера. но тесселяция всегда плохо сказывается на fps. Я всегда использую отображение параллакса вместо мозаики для ландшафта. Карты текстуры pbr также очень помогают создать иллюзию. листва также очень плохо влияет на fps, особенно на старом оборудовании. очень важен баланс количества листвы и дистанции отбраковки.
 
Начинающий
Статус
Оффлайн
Регистрация
27 Сен 2020
Сообщения
80
Реакции[?]
10
Поинты[?]
0
Динамичные поинт лайты очень сильно роняют фпс. Либо делай маленькую cull distance на них, либо используй спотлайты где только возможно.
 
Начинающий
Статус
Оффлайн
Регистрация
10 Авг 2020
Сообщения
134
Реакции[?]
14
Поинты[?]
0
это поможет узнать, какие характеристики есть у вашего компьютера. но тесселяция всегда плохо сказывается на fps. Я всегда использую отображение параллакса вместо мозаики для ландшафта. Карты текстуры pbr также очень помогают создать иллюзию. листва также очень плохо влияет на fps, особенно на старом оборудовании. очень важен баланс количества листвы и дистанции отбраковки.
В целом достаточные, чтобы играть в ААА игры на ультрах.
 
Начинающий
Статус
Оффлайн
Регистрация
13 Сен 2020
Сообщения
30
Реакции[?]
3
Поинты[?]
0
Если FPS медленно снижается до 1 кадра в секунду, это говорит об утечке памяти. Скорее всего, вызвано листвой. Это проблема, которую ранее отправляли в Epic, но я не знаю, была ли она исправлена. Я видел это в своих проектах, и мне пришлось удалить всю листву.
 
Начинающий
Статус
Оффлайн
Регистрация
10 Авг 2020
Сообщения
134
Реакции[?]
14
Поинты[?]
0
Если FPS медленно снижается до 1 кадра в секунду, это говорит об утечке памяти. Скорее всего, вызвано листвой. Это проблема, которую ранее отправляли в Epic, но я не знаю, была ли она исправлена. Я видел это в своих проектах, и мне пришлось удалить всю листву.
Да, вы правы, что дело в целом в листве. На маркетплейсе деревья сделаны идиотами, листья они делают альфа-картой, надеясь сохранить 1.5 полигончика, в результате чего транспарентность, что довольно ресурсно-затратна, полностью убивает производительность.
 
Начинающий
Статус
Оффлайн
Регистрация
1 Сен 2020
Сообщения
19
Реакции[?]
5
Поинты[?]
0
Могу соврать, но видел как листву делали трим-шитами. Может попробовать переделать деревья таким образом? Да и вообще
Пожалуйста, авторизуйтесь для просмотра ссылки.
, зачем гадать? Уточни где проблемы.
 
Начинающий
Статус
Оффлайн
Регистрация
18 Фев 2021
Сообщения
16
Реакции[?]
1
Поинты[?]
0
Можно попробовать заглянуть во встроенный профайлер и посмотреть, что может вызывать проблемы. Еще как вариант партиклы могут быть слишком тяжелые, но я помню, что где то есть настройка, чтобы переключить обработку партикла с цпу на гпу, чтобы хоть как то распределить нагрузку. Динамический свет тоже жрет много ресурсов, но если без него никак, то хз. Еще как вариант, сделать стриминг уровней (то есть подгрузку), таким образом пройденная часть локации будет выгружаться, а новая подгружаться, что освободит ресурсы.
 
Сверху Снизу