или подскажет что ещё можно сделать?
Резал всё, что только можно, но у людей всё равно иногда тормозит, если видеокарта ниже 3060. Иногда бывает ошибка в нехватке видеопамяти, но чаще всего на DirectX12, на DirectX11 реже.
У тех же животных отказался от Move To, заменив на Add Movement Input, но особого прироста не заметил. Уже думаю заменить животных на обычных Pawn, только хз как их адекватно двигать и проигрывать анимации.
В игре имеется поддержка FSR 2, DLSS, Intel Xess, это спасает немного ситуацию, но не все их включают.
В курсе, что попросят профайлер, но лично мне он не о чём не говорит) Был только 1 раз когда профайлер подсказал с оптимизацией блюпринта, указав на этот блюпринт (виджет).
Без полноценного профилирования ты просто тыкаешься вслепую. Осваивай все виды профилирования, особенно простейшие. Команды в консоли stat unitgraph и другие из серии stat (особенно stat game, stat physics, stat scenerendering, stat ai). Инструментируй свой код. Учись использовать графический профайлер и Insights. Из простых методов - пробуй отключать разные части игры, чтобы понять, что сильнее тормозит.
Простейшие я и так знаю и использую.
Ну тогда показывай основные цифры по разным подсистемам в игре. Без этого как тебе чатик поможет?
Вот цифры из игрового билда. Видеокарта MSI GeForce RTX 3060 VENTUS 3X OC, процессор AMD Ryzen 7 5700G BOX, оперативной памяти 128гБ DDR4.
Плохо видно цифры, слишком мелко. Напишу про то, что удалось разглядеть. На скриншотах вроде бы рендеринг сильнее тормозит, то есть узкое место больше в GPU time. Хотя game (игровая логика), возможно, тоже близко по затратам.
Из рендеринга сразу бросается в глаза количество треугольников на экране - более 8 миллионов. Это слишком много для такой сцены. Для понимания масштаба, если у тебя разрешение в игре, допустим, 1920 на 1080, то это всего 2 миллиона точек. Зачем тебе 8 миллионов треугольников, по 4 треугольника на точку? Зритель их не увидит никогда. Снижай хотя бы до 2 млн. Скорее всего, можно ЛОДы нарутить более агрессивные для деревьев и еще чего-то.
Как раз сейчас работаю с лодами. У всех деревьев есть билбоард лоды
Количество draw calls тоже выглядит слишком большим. Подумай, откуда столько. Может, можно еще утрамбовать. Сильнее использовать инстансинг для растительности, или HLOD для построек. Персонажей вроде мало на экране, так что вряд ли это из-за них.
Очень крутые ебеня
Вот сейчас одним плагином массово задаю лоды тем объектам, у которых их не было.
Вот стараюсь их оптимизировать)
Вы ее в стим же уже выкатили?
По поводу арстительности: как можно сильнее использовать инстансинг, если растительность обычная. та же трава просто буквально по 10 полигонов с текстурками в 512
Чтобы лучше понять, где больше тормозит, проведи простейшие эксперименты. Посмотри fps и unitgraph без освещения и наоборот, только освещение без шейдеров. А так же посмотри визуализацию shader complexity. Это все в редакторе можно через менюшку посмотреть или же клавишами функциональными (F1, F2, F3, F4, F5 и т.д.).
Еще можно попробовать запустить игру в очень низком разрешении, буквально 320 на 240. Тогда будет лучше видно, где ограничение по процессорному времени.
shader complexity ландшафт прям ярко красный ибо UDS подключен к нему ещё. Текстурки ландшафта 1к
Можно отключить overlaps, если они тебе не нужны. Это от жанра зависит. Они у тебя жрут много (UpdateOverlaps в основной игровой нитке). Погугли как они отключаются, я не помню точно все подробности. Наверняка можно их отключить хотя бы для ботов.
Ну ботов можно бить. Когда бью кидаю на них трейс
Что за UDS? Не соображу что это в ландшафте
Ultra Dynamic Sky
Это же не overlap, это просто трейс
А, ясно. Погодные эффекты видимо жрут. А без них есть разница по фпс?
Если честно, то не особо.
тут половину логики на тике?
Ты как измерял? Без них такой же shader complexity? Или без них такой же фпс? Это же две большие разницы
Есть таймеры, но на отдельном общем блюпринт акторе + диспетчеры
shader complexity всегда одинаковый - ярко красный
По AI вроде маленькие совсем цифры, видимо нет смысла его трогать, это ничего не даст.
Для них используется плагин WorldDirectorPRO
Ну тогда получается что погодные эффекты непричем. Трамбуй свой ландшафт. Что там криминального делает Brushify? Слишком много слоев? Покрути разные отладочные визуализации для ландшафта, там в менюшке редактора есть много полезного. https://www.youtube.com/watch?v=grt8WLbFqkY
Когда включал RVT для ландшафта было лучше. Но когда начинался дождь - он мерцал. Пришлось RVT отключить.
Да, если слишком много слоев или слишком сложный материал ландшафта, то RVT - основной способ оптимизации. Если он тебе не подходит, то надо снижать сложность материала ландшафта. Я по крайней мере не знаю другого способа. Ну или искать способ правильно настроить RVT / обойти его баги (мерцание или что там, разные проблемы бывают).
Что еще можно оптимизировать кроме ландшафта?
По описанию вроде он не должен тебе создавать проблемы по производительности, скорее наоборот. Как его профилировать - надо смотреть в доках по нему.
Он у меня отключен для персонажей, которые выдают квесты ибо он переспамливает всё время с их квестами
Очевидно, оптимизировать надо то, что тормозит на твоей целевой платформе. Ты точно установил, что тормозит?
Если бы я понимал, что тормозит...
Ну выясни хотя бы точно, CPU или GPU
Разрешение понижал до 320 на 240?
Похоже что всё по-мальньку
Боец по ходу сдался ))
Поборись еще ))
Ну если бы сдался - забил бы вообще на оптимизацию)
Он же у тебя ярко красный ) Попробуй для начала замени его на самый простой. Посмотришь разницу в фпс
Менять ландшафт в готовой игре такое себе решение.
да просто проверить. Удали с него всё
Если поставить материал попроще, то конечно будет зеленый. Но прироста FPS, по крайней мере в движке, нет.
Разрешение маленькое проверь.
прям вот убираешь всю траву, а фпс не подрастает?
В HD немного выше FPS, меньше HD в меню игры нет.
+10 FPS максимум в движке. Не сильно то и много.
Еще кстати напиши параметры ландшафта самого. Общее количество вершин, квадов на секцию, секций на компонент.
я не следил за темой. Если было 10, а стало 20, то это в 2 раза )
10 не было, было больше)
Я бы удалял всё по очереди. Траву, деревья.. хз что там у тебя еще есть. Ну и смотрел что влияет больше всего
Это много в твоем случае
Удалить всю траву и деревья и получить +10 FPS это не много.
удаляй дальше и проверяй. Домики удаляй )
Зарплатой так же разбрасываешься, как и ФПСами? ))
У инди нет зарплаты)
Сетка ландшафта нормальная вроде, соответствует рекомендациям
Если включить отображение сетки ландшафта, то на вид довольно полигонистая)
https://docs.unrealengine.com/4.27/en-US/BuildingWorlds/Landscape/TechnicalGuide/
Ага, только движок версии 5.1
В данном случае без разницы
В редакторе запусти на очень низком разрешении.
Да хоть бы и окошко уменьши
Уменьшал. FPS был выше.
Ну вот тебе и ответ - все еще графику нужно оптимизировать
Да куда же её ещё оптимизировать то?)
ну мы тебя не заставляем, конечно )
Не хочется получить мыльную игру
Вопрос тогда уже в приоритетах и в целевой платформе. С технической точки зрения, резерв для оптимизации еще наверняка есть.
Игра на ПК и хочу иметь 120 FPS на 3060.
Тогда надо оптимизировать.
Тогда оптимизируй материал ландшафта и растительность. Трава и деревья наверняка слишком детальные, можно урезать без потери качества.
И ты все еще не объяснил, зачем тебе 8 миллионов полигонов на экране, если у тебя всего 2 миллиона точек?
На этом скриншоте точно 8 миллионов полигонов?
А сколько там? Не видно ничерта в таком качестве.
2 миллиона с копейками вроде как.
В идеале должно быть 1-2 миллиона. У тебя на некоторых скриншотах вроде было 8, но там трудно разглядеть, возможно это 3.
Просто больше 2 млн не имеет смысла, зачем много треугольников на 1 точку? Зритель эти треугольники никак не увидит.
На всякий случай.. ты же в курсе, что в редакторе фпс намного меньше чем в билде?
Ты ещё движок в дебаг таргете собирали и там посмотри
Обсуждают сегодня