Меня завораживала мысль, что я сделал игру на движке, которым пользуются огромные игровые студии, создающие ААА-игры. Конечно же, я не испытывал угрызений совести от того, что старался пользоваться всеми возможностями UE4 по максимуму, часто не понимая, как это отразится на производительности. Совсем беспредельничать мне мешал маломощный компьютер с GT740, без которого я бы наворотил таких тяжеловесных эффектов, что ни о каком порте на Nintendo Switch не шло бы и речи.
Комментарий недоступен
Комментарий недоступен
Идеальный баланс
Комментарий недоступен
Не могу не вставить свои 5 копеек
Небольшая памятка для правильной оптимизации без урезаний в UE4:
1)По освещению - старайтесь не пересекать множество лайтов друг с другом; избегайте по возможности поинт лайтов (вместо них споты); избегайте волюметрик опций (это дорогая вещь);
2) Используете запеченный свет - для каждого меша делайте свое разрешение лайтмапы, саму лайтмапу делайте руками; лайтмапа разрешением до 254 как максимум
3)Используете динамическое освещение - подходите к каскадным теням с умом - максимальное качество включайте только перед игроком, выключайте полностью тени на удалении (используйте вместо них Mesh Distance Field - увеличите память, но не потеряете в качестве)
4)Для мобильных платформ максимум треугольников в сцене 300к
5)Если используете много растительности и маскированных материалов - включайте Early Z-Pass
6)Не используйте сложную коллизию
7)Ограничивайтесь в количестве материалов на один меш - каждый наложенный материал это доп. drawcall
8)Используйте HLOD - займет больше памяти но снизит нагрузку
9)Текстуры в редком случае делают 4К разрешения (даже в AAA проектах), 2К вполне хватает;
метод компрессии ETC (не учитывает альфа канал), либо ATC;
текстуры собирайте в атлассы с использованием RGB каналов (порой в одну атлас-текстуру 2К можно всунуть 12 текстур 1К)
10)Ambient Occlusion работает через пост процесс (как и TAA и FXAA), поэтому его можно оптимизировать настройками оттуда.
TAA дорогая вещь и с ним есть много проблем, но по соотношению качество/скорость он лучше чем MSAA, который нормально себя показывает только в 8кратном режиме
Для мобилок лучше использовать FXAA либо MSAA 2x
11)Используйте динамическое разрешение (последние версии движка это поддерживают)
12)Не делайте много блюпринтов на сцене в игре. Все блюпринты обсчитываются каждый фрейм вне зависимости используете вы Event Tick или нет (Event Tick только еще больше нагружает систему)
13)Forward Rendering будет лучшим решением только если у вас в сцене мало источников света, иначе сделаете только хуже
Комментарий недоступен
Можно про пункт 12 поподробнее. Первый раз от таком слышу.