Конфигурация потоковой передачи текстур в Unreal Engine 4

0
4
Конфигурация потоковой передачи текстур в Unreal Engine 4

После проверки точности построенной потоковой передачи текстуры вы можете настроить поведение и приоритеты стримера текстуры. Параметры, приведенные ниже, можно настроить через файлы конфигурации, и большинство из них также можно обновить во время выполнения из окна консоли.

неиспользуемые динамические границы будут удалены из цикла обновления.​

КомандаОписание
r.TextureStreamingЭто включает или отключает стример текстуры. Когда он отключен, все текстуры будут полностью загружены в память, даже если текстура никогда не используется для рендеринга. Вы можете переключать этот параметр во время выполнения, если это необходимо.
r.Streaming.PoolSizeРазмер пула в MB доступен для текстур в движке. Этот пул содержит текстуры пользовательского интерфейса, текстуры NeverStream, кубики и потоковые текстуры. На некоторых платформах этот пул может также содержать не текстуры, такие как буферы частиц GPU и вершинные буферы. Если установлено значение 0, размер пула будет неограниченным.
r.Streaming.UseFixedPoolSizeПри использовании ненулевого значения размер пула текстур может быть изменен во время выполнения.
r.Streaming.FramesForFullUpdateКоличество кадров между каждым полным обновлением стримера текстуры. Каждое обновление повторяет требуемое разрешение каждой текстуры и генерирует запросы на загрузку или выгрузку mip. Более высокие значения уменьшают использование процессора текстур стримера, а более низкие значения повышают его реактивность.
r.Streaming.UseNewMetricsТолько для совместимости. Если установлено значение – false, стример текстуры будет действовать в соответствии с версией 4.12.
r.Streaming.MaxTempMemoryAllowedОбъем временной памяти в Mб позволяет обновлять текстуры. Он должен быть достаточно большим, чтобы избежать голодания стримера текстуры, будучи достаточно маленьким, чтобы предотвратить потерю (или неиспользованную) памяти.
r.Streaming.HLODStrategyКонтролирует стратегию загрузки иерархических текстур LOD:

  • 0: Разрешает потоковую передачу всех mips.
  • 1: Потоковая передача только последнего. Остальные mips всегда загружаются.
  • 2: Нет потоковой передачи никаких mips. Все мипы всегда загружаются.
r.Streaming.HiddenPrimitiveScaleКонтролирует масштаб, применяемый к «желаемому» разрешению, когда компонент, ссылающийся на текстуру, не отображается (т.е. его ограничивающая ячейка закрыта). Это влияет только на разрешение, прежде чем оно будет зажато максимальным доступным разрешением, чтобы избежать понижения текстур, которые уже ограничены. Другими словами, это влияет только на текстуры, которые имеют соответствующие разрешения для точки зрения.
r.Streaming.MaxEffectiveScreenSizeПри ненулевом значении это ограничит размер экрана, рассматриваемый стримером при вычислении «требуемого» разрешения текстур. Это будет препятствовать тому, чтобы высокие разрешения требовали значительно больших потоков.
r.Streaming.BoostЭто глобальное расширение, влияющее на «желаемое» разрешение текстур.
r.Streaming.MipBiasЭто глобальная mip смещения, используемая для предотвращения загрузки стримера с помощью самых больших mips для каждой текстуры. Он используется для размещения пула с низкой пропускной способностью. Это также влияет на то, какие именно mips стример пытается загрузить для любых точек просмотра, как с небольшим r.Streaming.Boost , так и с ограничивающим r.Streaming.MaxEffectiveScreenSize.

Есть несколько исключений из того, как применяется это смещение:

  • Ландшафт и ландшафтные текстуры: смещение не влияет.
  • Иерархические текстуры LOD: смещение не ограничивает максимальное разрешение.
  • Карты освещения и Карты затенения: смещение ограничивает максимальное разрешение.
r.Streaming.UsePerTextureBiasИспользуется для ограничения эффекта глобального смещения mip, ограничивая его эффект максимальным допустимым mip, а не «желаемыми» mips с любой точки обозрения. Затем он применит его к текстурам только для того, чтобы вписаться в потоковый пул. Каждая текстура имеет свой собственный mip смещения, от 0 до MipBias, в зависимости от вычисления бюджета.
r.Streaming.DropMips Это опция отладки, используемая для предотвращения хранения mips в памяти, даже если пул потоков позволяет:

  • 0: Не отбрасывать mips.
  • 1: Отбрасывать кешированные mips.
  • 2: Отбрасывать кешированные и скрытые mips.

Цель этого заключается в том, чтобы обеспечить точность требуемого вычисления mip, поскольку на отображаемое разрешение могут влиять предыдущие запросы загрузки или скрытые примитивы.

r.Streaming.FullyLoadUsedTexturesЭто приведет к потоку всех используемых текстур с их максимальным доступным разрешением и сохранит их в памяти до тех пор, пока приложение будет открыто. Это должно использоваться как альтернатива полностью отключению потоков текстур, которые будут загружать текстуры, которые никогда не используются и, в конечном счете, требуют большего использования памяти.
r.Streaming.UseAllMipsВозможность удаления всех ограничений, связанных с настройками группы текстур и кинематографическими настройками. Это следует использовать только при демонстрации искусства или создании рекламных материалов.
r.Streaming.AnalysisIndexЭто используется в Material Texture Coordinate Scale Accuracy View Mode (режиме просмотра точности масштаба текстуры материала), чтобы исследовать точность отдельных текстур.
r.Streaming.CheckBuildStatusЕсли он включен, движок проверяет, нужно ли перестраивать потоки текстур, отображать предупреждение при имитации или в режиме воспроизведения в редакторе (PIE).
r.Streaming.DefragDynamicBoundsНеиспользуемые динамические границы будут удалены из цикла обновления.
r.Streaming.LimitPoolSizeToVRAMРазмер пула текстур будет ограничен количеством памяти GPU.
r.Streaming.MinMipForSplitRequestЕсли значение не 0, это позволяет стримеру текстуры сначала загружать видимые mips из текстуры, когда также должны быть загружены невидимые mips. Это улучшает качество изображения, устанавливая приоритеты видимых mips над mips принудительной загрузки или над скрытыми mips, которые могут стать видимыми.
r.Streaming.NumStaticComponentsProcessedPerFrameЕсли значение отличное от нуля, это задает количество компонентов, которые движок будет пошагово загружать в каждый кадр, прежде, чем уровень будет виден. Это относится к компонентам с их мобильностью, установленной на статическую. Значение по умолчанию равно 50.
r.Streaming.ScaleTexturesByGlobalMyBiasУстанавливает, будет ли «желаемое» разрешение потоковой текстуры уменьшаться глобальным смещением mip.
r.Streaming.UseMaterialDataУстанавливает, будут ли масштаб текстуры материала и координаты использоваться для потоковой передачи текстур.