Version: 2023.1

Graphics.ExecuteCommandBufferAsync

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

参数

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

描述

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

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

CommandBuffer.BeginSample

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

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