А что такое

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

GPT3.0. Держат ветерана на почётной должности.

13

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

На встройке всего несколько сотен мегабайт выделенной видеопамяти, но она может использовать системную память напрямую (хотя системная память заметно медленнее).
Поэтому в твоем случае 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