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