Объявление
public static void SwitchIntoFastMemory(Rendering.CommandBuffer cmd, Rendering.RenderTargetIdentifier rid, Rendering.FastMemoryFlags fastMemoryFlags, float residency, bool copyContents);Параметры
rid | Цель рендеринга для размещения в быстрой памяти графического процессора. |
fastMemoryFlags | Схема памяти, используемая, если только часть цели рендеринга помещается в быструю память графического процессора либо из-за параметра резидентности, либо из-за доступности быстрой памяти графического процессора. |
residency | Объем целевого объекта рендеринга для помещения в быструю память графического процессора. Допустимые значения: от 0,0f до 1,0f включительно. Значение 0.0f не равно ни одной цели рендеринга, а значение 1.0f равно всей цели рендеринга. |
copyContents | Когда это значение равно true, Unity копирует существующее содержимое цели рендеринга в быструю память. Когда это значение равно false, Unity не копирует существующее содержимое цели рендеринга в быструю память. Установите для этого значения значение true, если вы планируете добавить что-либо к существующему содержимому, и установите значение false, если вы планируете перезаписать или очистить существующее содержимое. По возможности установите для этого значения значение false для повышения производительности.. |
Описание
Добавляет команду для помещения заданной цели рендеринга в быструю память графического процессора.
На некоторых консольных платформах вы можете поместить цели рендеринга в быструю память графического процессора для повышения производительности рендеринга.
На платформах, не поддерживающих быструю память графического процессора, эта функция ничего не делает.
На платформах, поддерживающих быструю память графического процессора, результаты этой функции зависят от состояния цели рендеринга и объема быстрой памяти графического процессора, доступной во время выполнения этой команды графическим API. Если цель рендеринга еще не находится в быстрой памяти графического процессора, Unity помещает как можно большую часть цели рендеринга в быструю память графического процессора, вплоть до объема, указанного в параметре residency
. Если Unity не может поместить цель рендеринга в быструю память графического процессора либо потому, что она уже находится в быстрой памяти графического процессора, либо потому, что быстрая память графического процессора недоступна, Unity ничего не делает. В этом случае производительность не снижается.
Обратите внимание, что невозможно заранее определить, находится ли цель рендеринга в быстрой памяти графического процессора или сколько быстрой памяти графического процессора доступно.
Смотрите так же: CommandBufferExtensions.SwitchOutOfFastMemory