Version: 2023.2

Graphics.ExecuteCommandBufferAsync

切换到手册
public static void ExecuteCommandBufferAsync (Rendering.CommandBuffer buffer, Rendering.ComputeQueueType queueType);

参数

buffer 要执行的 CommandBuffer
queueType 描述应在其上执行所提供的 CommandBuffer 的异步计算队列。

描述

对基于传入的 ComputeQueueType 参数选择的异步计算队列执行命令缓冲区。

要求命令缓冲区中的所有命令都为适合在异步计算队列上执行的类型。如果缓冲区包含任何不合适的命令,则系统会记录错误并在 Editor 窗口中显示。具体来说,将异步执行的 CommandBuffer 可以包含以下命令:

CommandBuffer.BeginSample

CommandBuffer.BuildRayTracingAccelerationStructure

CommandBuffer.CopyCounterValue

CommandBuffer.CopyTexture

CommandBuffer.CreateGraphicsFence

CommandBuffer.DisableShaderKeyword

CommandBuffer.DispatchCompute

CommandBuffer.EnableShaderKeyword

CommandBuffer.EndSample

CommandBuffer.GetTemporaryRT

CommandBuffer.GetTemporaryRTArray

CommandBuffer.IssuePluginEvent

CommandBuffer.ReleaseTemporaryRT

CommandBuffer.SetComputeBufferData

CommandBuffer.SetComputeBufferParam

CommandBuffer.SetComputeFloatParam

CommandBuffer.SetComputeFloatParams

CommandBuffer.SetComputeIntParam

CommandBuffer.SetComputeIntParams

CommandBuffer.SetComputeMatrixArrayParam

CommandBuffer.SetComputeMatrixParam

CommandBuffer.SetComputeTextureParam

CommandBuffer.SetComputeVectorParam

CommandBuffer.SetComputeVectorArrayParam

CommandBuffer.SetGlobalBuffer

CommandBuffer.SetGlobalColor

CommandBuffer.SetGlobalFloat

CommandBuffer.SetGlobalFloatArray

CommandBuffer.SetGlobalInt

CommandBuffer.SetGlobalMatrix

CommandBuffer.SetGlobalMatrixArray

CommandBuffer.SetGlobalTexture

CommandBuffer.SetGlobalVector

CommandBuffer.SetGlobalVectorArray

CommandBuffer.WaitOnGraphicsFence

系统保证缓冲区中的所有命令都在同一队列上执行。如果目标平台不支持异步计算队列,则将工作分发到图形队列。

另请参阅:SystemInfo.supportsAsyncCompute、GPUFence、CommandBuffer