版本:Unity 6(6000.0)
语言英语
  • C#

CommandBufferExtensions.SwitchIntoFastMemory

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们并非所有提交的建议都会采纳,但我们确实会阅读用户提出的每项建议变更,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议变更未能提交。请在几分钟后重试一次。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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

参数

rid 要放入快速 GPU 内存中的渲染目标。
fastMemoryFlags 如果只将渲染目标的一部分放入快速 GPU 内存中(可能是由于 residency 参数或由于快速 GPU 内存可用性),则用于使用的内存布局。
residency 要放入快速 GPU 内存中的渲染目标的量。有效值为 0.0f 到 1.0f(包括 1.0f)。值 0.0f 等于没有渲染目标,而 1.0f 等于整个渲染目标。
copyContents 当此值为 true 时,Unity 会将渲染目标的现有内容复制到快速内存中。当此值为 false 时,Unity 不会将渲染目标的现有内容复制到快速内存中。如果您计划添加到现有内容中,请将此值设置为 true;如果您计划覆盖或清除现有内容,请将此值设置为 false。如果可能,请将此值设置为 false 以获得更好的性能。

说明

添加一个命令以将给定的渲染目标放入快速 GPU 内存中。

在某些主机平台上,你可以将渲染目标放入快速 GPU 内存中,以提升渲染性能。

在不支持快速 GPU 内存的平台上,此功能无效。

在支持快速 GPU 内存的平台上,此函数的结果取决于呈现目标的状态以及图形 API 执行此命令时可用的快速 GPU 内存的数量。如果呈现目标尚未位于快速 GPU 内存中,Unity 会将尽可能多的呈现目标放到快速 GPU 内存中,直到 residency 参数中指定的大小。如果 Unity 无法将呈现目标放到快速 GPU 内存中(因为它已经位于快速 GPU 内存中,或者因为没有可用的快速 GPU 内存),Unity 不会执行任何操作。在此情况下,不会有性能成本。

请注意,不可能预先确定呈现目标是否已经位于快速 GPU 内存中,或者有多少可用的快速 GPU 内存。

其他资源:CommandBufferExtensions.SwitchOutOfFastMemory