А что такое

+58
с 2020
0 подписчиков
24 подписки

Ковши по компасу/карте еще можно найти :)

На встройке всего несколько сотен мегабайт выделенной видеопамяти, но она может использовать системную память напрямую (хотя системная память заметно медленнее).
Поэтому в твоем случае 16 гб системной памяти делится между CPU и GPU. Игре нужно где 8-14 гб системной памяти, так еще и 5-8+ гб видеопамяти.
Что в целом, помимо слабой GPU, дополнительно вызывает просадки.

Чтож, печально. Возможно эти параметры не подхватываются из engine.ini потому что они перезаписывается в дефолтном scalability.ini

Лично для меня почти бесполезная фича, нужна только для ускорения поиска пары квестовых предметов.
А перформанс жрёт постоянно даже когда чутьё не используется. Поэтому прирост до 5 миллисекунд мне показался важнее ненужной фичи.
Хотя ее можно включить обратно убрав строку r.CustomDepth=0 из конфига

1

Интересно, почему у отражений SSR - 2, а у освещения - SSGI - 3? А что на 2 у освещения?

Перепроверил, SSGI - 2. Видимо опечатался когда тот коммент писал.

А как запретить использовать системную память вместо видеопамяти? Чтобы движок только VRAM использовал?

Сложно на самом деле. Внутри D3D12 он неправильно считает память и даже если включить режим подстройки размера пулов под достуную видеопамять (r.Streaming.LimitPoolSizeToVRAM=1 и опциональный D3D12.AdjustTexturePoolSizeBasedOnBudget=1) он может замылить текстуры в 0, но при этом все равно будет использовать больше видеопамяти чем доступно и залезать в системную память.
Самое надежное это фиксить контент, но это уже к разрабам, тут конфигами не исправишь(

TSR c масштабом 50% и TAA с масштабом на 100%, практически не влияют на fps вообще. Там единицы какие-то. Да и по фреймтайму видно. Это и удивляет.Тот же 5-й инрыл на Робокопе, например, заметно реагирует на масштабирование. А вот смута - почти нет. Оптимизация отсутствует совсем, походу.

Это потому что тут узкое место (bottleneck) это количество drawcall и количество вертексов и видеопамять иногда. Что меняй что не меняй динамическое разрешение, разницы не особо будет видно. Это потому что тут не включены наниты. А в робокопе включены и там видимо узкое место как раз кол-во пикселей, поэтому масштабирование помогает ( производительность нанитов как раз очень хорошо масштабируются под кол-во пикселей).

1

Что за GPU? сколько видеопамяти?
В целом можно добавить команду r.Streaming.LimitPoolSizeToVRAM=0. Но скорей всего просядет фпс.
Если не сработает то может помочь другой вариант: в той же папке в Scalability.ini добавь вот эти строки:

[TextureQuality@0]
r.Streaming.LimitPoolSizeToVRAM=0

[TextureQuality@1]
r.Streaming.LimitPoolSizeToVRAM=0

[TextureQuality@2]
r.Streaming.LimitPoolSizeToVRAM=0

[TextureQuality@3]
r.Streaming.LimitPoolSizeToVRAM=0

Что фортнайт что ЗВ имеют очень сильно модифицированную версию движка, как минимум из-за плохой оптимизации в дефолтной версии.
Про фортнайт вообще можно не говорить, там годами живут оптимизации/модификации которые в основную ветку вливаются через год-два и то если повезёт.
Ну и это не отменяет того факта что разрабы смуты плохо владеют UE, контент плохо оптимизирован, много проблем с ним есть.

Тебе возможно поможет включить TSR и поставить масштаб 50%. Или накатить моды на FSR https://www.playground.ru/smuta/forum/optimizatsiya_igry-1690195#30161503

P.S. А что за проц кстати? м.б он узкое место? видюха на 100% загружена?

2

А в UE4 или UE5 случайно нет возможности сэкономить на вызовах отрисовки одинаковых instance-ов skinned/skeletal mesh-ей, или это бы автоматически подразумевало необходимость всю анимацию на GPU проворачивать вручную (чем я уверен разрабы смуты не занимались)?

Есть GPU Skin Cache - как раз оптимизация чтобы не считать в каждом пассе скелетную анимацию, а сделать один раз в начале кадра и использовать этот кэш.
Она включена в Смуте по дефолту (правда не специально, а потом что не был выключен рейтрейсинг). Правда эта штука очень сильно тормозит из-за того что память использует PCI шину (очень медленно на GPU).
Собственно, это была первая фича которую я отключил из-за больших просадок (r.SkinCache.Mode=0) 😂

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

Используют стандартный набор в целом (включая ISM/HISM, это видно через PIX). Большая проблема в том, что в одном меше используют много разных материалов, что приводит к большому количеству вызовов отрисовки (draw calls). Надо мержить материалы, чтобы (в идеале) был один материал и один сет текстур на меш.

Из капчи некоторые моменты можно понять. К примеру походу никаких WorldPartition и HLODs нету. Импостеров -биллбордов для деревьев нету (видимо из-за того что они взяты как есть из ассет стора).

В целом они попали в неудачный период начала разработки до выхода UE5.2 (где норм оптимизаций завезли более-менее) и до UE5.4 (где завезут дофига оптимизаций), поэтому надеюсь что в след патчах через 3-6 месяцев они портанут игру с 5.3.2 на 5.4 ).
я подробнее эту тему раскрою в статье)

1

У мен тоже проблема со сбросом настроек, имеет смысл баг репорт им накатать.
Через конфиг можно отключить так:
; 0 - выкл, 1 - люмен, 2 - SSR
r.ReflectionMethod=0
; 0 - выкл, 1 - люмен, 3 - SSGI
r.DynamicGlobalIlluminationMethod=0

Работа с памятью - общая проблема игр на дефолтном UE.
Можешь поэкспериментировать с размером пула текстур и посмотреть как на качество/фпс влияет:
r.Streaming.LimitPoolSizeToVRAM=0
; 1000 мегабайт.
r.Streaming.PoolSize=1000
D3D12.AdjustTexturePoolSizeBasedOnBudget=1

2

не используется. Если бы использовался то как минимум не видно было бы как лоды переключаются)

я наверное знаю почему не используют, в полной статье раскрою тему)

2

А что за проц? у теб все еще GPU на 100% заружена?

а кста "мод длсс фг" это походу просто FSR 3 под капотом что ли? 🤣

Пока до него не дошел. А что у тебя за железо? Настройки выше как-нибудь помогают на той локации?

Когда приехал в Хогвардс, а там эльфы в нарды играют

А Unreal Frontend/Insights не доступны в релизном билде(
По дефолту в релизном билде даже консоль и логи выключены на этапе компиляции. Так что без отдельных махинаций их не включить.

2

Да ты прав это все становится сложнее и сложнее. Особенно сейчас, когда все на Compute и Mesh шейдерах сделано. Хотя для рейтрейсинга удобные инструменты для визуализации прикрутили.
Тут даже эксперты в теме мало уже что понимают 😂.
А DigitalFoundry все таки нацелены на более широкую аудиторию, поэтому такие вещи им невыгодно делать. Да и тем более тот же разработчик RenderDoc'а против того чтобы его инструмент для реверса игр/приложений использовали, чисто для отладки/теста своих игр.

А в Смуте судя по всему код рендеринга никто не модифицировал. А код UE5.3 доступен для всех. Поэтому по большому счёту будет больше обзор того какие настройки они включили и как сделали/оптимизировали контент.
К примеру вот высокополигональная голова NPC которая занимает всего 10 пикселей на экране 🤣
А таких персонажей 30-35 в кадре! Такое не все AAA игры себе позволить кстати)

2

Вообще нет, но прост пока так

Погуглил - ничего конкретного не нашел, но где то пишут что были проблемы с
SSGI и VSM (Virtual Shadow Maps).
Первое можно включить в настройках, но люмен получше будет.
Второе и так отключено по дефолту в смуте. Можно через конфиги включить, но перф действительно падает и появляются артефакты. Это потому что как минимум нужны наниты и другие настройки.

P.S. твоя RTX 2050 имеет 4 GB видеопамяти, что очень мало. Видимо только если поставить текстуры на ультра он загружает более качественные мипы несмотря на нехватку памяти.

Вообще на любых настройках должно работать, потому что только 1 параметр из меню настроек перезаписывается (качество сглаживания, r.AntiAliasingMethod=2).
Это у тебя такие мыльные текстуры стали после применения оптимизации?
Так-то ни один из параметров не должен влиять на качество текстур, кроме D3D12.AdjustTexturePoolSizeBasedOnBudget=1, но он закомменчен по дефолту 🤔

По такому поводу можно и баг репорт накатать разработчикам ⏩ https://vk.com/wall-220765183_63158

1

14% получается, неплохо для настроек которые практически не влияют на графику (кроме замены TSR на TAA).

1

Интересно)
Хотя 7 кадров это может быть мало если со 100 до 107 - всего 7 процентов. И может быть очень много если с 10 до 17 - это уже 70 процентов.
Поэтому надежнее время кадра в миллисекундах указывать.

1

Если тебе интересно можешь выложить скриншот где будет показываться нагрузка на GPU и CPU через тот же Geforce Experience.
Возможно у тебя слабое место именно CPU а не GPU

Это будет в ДЛС (возможно в полную статью скину))