TextureStreaming
Регулирование динамической текстуры мипкартирования для оптимизации использования VRAM.
Регулирование динамической текстуры мипкартирования для оптимизации использования VRAM.
:: TextureStreaming Синглтон управляет динамической погрузкой и разгрузкой уровней мипкарты текстуры на основе того, что видно в нынешней системе. Это позволяет проектам с большим количеством текстур значительно сократить использование VRAM при сохранении визуального качества видимых текстуров.
Texture С помощью ретрансляции происходит анализ обратной связи теневых устройств для определения того, какие текстуры активно используются и при каком разрешении они отображаются. Тексты, которые удалены от камеры или не видны в настоящее время, разгружаются на мипкартах с более высоким разрешением, а текстура, помещаемая вблизи, загружается с более высокими разрешениями.
Система включает в себя функцию бюджета памяти, которая автоматически управляет разрешением текстуры, чтобы оставаться в пределах установленного предела VRAM. Когда бюджет превышается, система определяет приоритетность текстов, исходя из того, как они использовались в последнее время и сколько экранного пространства они занимают.
Примечание: Texture В конфигурации проекта (настройка проекта) должна быть включена система потоков (настройка проекта)ProjectSettings.rendering/textures/streaming/enabled) и текстуры должны быть импортированы с помощью ретрансляционной опоры для использования этой функции.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства4
MaxLodOverrideСвойство
public static int MaxLodOverride { get; set; }Отменяет максимальный уровень LOD (мипкарта), который может быть загружен для потоковых текстуров в рабочее время. Нижние значения позволяют получать текстуры с более высоким разрешением. 0 (полное разрешение) 13 (самое низкое разрешение). Значения, выходящие за этот диапазон, очищают перестановку и используют по умолчанию от ProjectSettings.rendering/textures/streaming/max_lod; когда блокировка не активирована, это имущество возвращается -1.
MemoryBudgetMbOverrideСвойство
public static uint MemoryBudgetMbOverride { get; set; }При превышении бюджета система уменьшает разрешение текстуры, чтобы не выходить за рамки. UINT32_MAX (4294967295, максимальная неподписанная 32-битная целая) отключает блокировку и использует по умолчанию от ProjectSettings.rendering/textures/streaming/memory_budget_mb.
MinLodOverrideСвойство
public static int MinLodOverride { get; set; }Превышение минимального уровня LOD (мипкартический уровень), который начинается при загрузке. Более высокие значения приводят к снижению первоначальной разрешающей способности. 0 (полное разрешение) 13 (самое низкое разрешение). Значения, выходящие за этот диапазон, очищают перестановку и используют по умолчанию от ProjectSettings.rendering/textures/streaming/min_lod; когда блокировка не активирована, это имущество возвращается -1.
SingletonСвойство
public static TextureStreamingInstance Singleton { get; }Методы8
FlushTextureStreamingvoid
public static void FlushTextureStreaming();Принуждает все очерченные в настоящее время операции по потоку текстуры к немедленному завершению, обходя нормальный постепенный переход и I/O дросселирование. Это незамедлительно загружает или разгрузит мипкарты уровней для достижения целевого разрешения для всех регулируемых текстуров, затем излучает TextureStreaming.FlushCompleted Сигнал. Полезный при загрузке экранов или телепортации игрока для обеспечения того, чтобы все текстуры находились на оптимальном разрешении без видимого перехода.
GetMaxLodOverrideint
public static int GetMaxLodOverride();intGetMemoryBudgetBytesUsedulong
public static ulong GetMemoryBudgetBytesUsed();Возвращает текущий VRAM использование потоковых текстуров в байтах. Это представляет собой общую память, потребляемую всеми ручными текстурами на их нынешнем загруженном уровне mipmap.
ulongGetMemoryBudgetMbOverrideuint
public static uint GetMemoryBudgetMbOverride();uintGetMinLodOverrideint
public static int GetMinLodOverride();intSetMaxLodOverridevoid
public static void SetMaxLodOverride(int maxLod);| Имя | Тип | По умолчанию |
|---|---|---|
maxLod | int | — |
SetMemoryBudgetMbOverridevoid
public static void SetMemoryBudgetMbOverride(uint mb);| Имя | Тип | По умолчанию |
|---|---|---|
mb | uint | — |
SetMinLodOverridevoid
public static void SetMinLodOverride(int minLod);| Имя | Тип | По умолчанию |
|---|---|---|
minLod | int | — |
Сигналы и события1
FlushCompletedСобытие
public static event Action FlushCompleted;Принимаются после завершения операции по смыву текстры TextureStreaming.FlushTextureStreaming был назван, и все регулируемые текстуры достигли целевых резолюций.