public static void SwitchIntoFastMemory (Rendering.CommandBuffer cmd, Rendering.RenderTargetIdentifier rid, Rendering.FastMemoryFlags fastMemoryFlags, float residency, bool copyContents);

Parameters

ridThe render target to put into fast GPU memory.
fastMemoryFlagsThe memory layout to use if only part of the render target is put into fast GPU memory, either because of the residency parameter or because of fast GPU memory availability.
residencyThe amount of the render target to put into fast GPU memory. Valid values are 0.0f - 1.0f inclusive. A value of 0.0f is equal to none of the render target, and a value of 1.0f is equal to the whole render target.
copyContentsWhen this value is true, Unity copies the existing contents of the render target into fast memory. When this value is false, Unity does not copy the existing contents of the render target into fast memory. Set this value to true if you plan to add to the existing contents, and set it to false if you plan to overwrite or clear the existing contents. Where possible, set this value to false for better performance.

Description

Adds a command to put a given render target into fast GPU memory.

On certain console platforms, you can put render targets in fast GPU memory for improved rendering performance.

On platforms that do not support fast GPU memory, this function does nothing.

On platforms that support fast GPU memory, the results of this function depend on the state of the render target and the amount of fast GPU memory available at the time that the graphics API executes this command. If the render target is not already in fast GPU memory, Unity puts as much of the render target as possible into fast GPU memory, up to the amount specified in the residency parameter. If Unity cannot put the render target into fast GPU memory, either because it is already in fast GPU memory or because no fast GPU memory is available, Unity does nothing. There is no performance cost in this case.

Note that it is not possible to determine in advance whether a render target is already in fast GPU memory, or how much fast GPU memory is available.

See Also: CommandBufferExtensions.SwitchOutOfFastMemory

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961