ScriptableRenderContext.ExecuteCommandBufferAsync

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

参数

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

描述

对异步计算队列调度命令缓冲区的执行。传入的 ComputeQueueType 会确定队列顺序。

请注意,命令缓冲区中的所有命令都需要是适合在异步计算队列上执行的类型。如果缓冲区包含任何不合适的命令,则 Unity 会记录错误并在编辑器控制台窗口中显示。CommandBuffer 可以对异步计算队列使用的命令有:


- CommandBuffer.BeginSample
- CommandBuffer.CopyCounterValue
- CommandBuffer.CopyTexture
- CommandBuffer.CreateGPUFence
- CommandBuffer.DisableShaderKeyword
- CommandBuffer.DispatchCompute
- CommandBuffer.EnableShaderKeyword
- CommandBuffer.EndSample
- CommandBuffer.GetTemporaryRT
- CommandBuffer.GetTemporaryRTArray
- CommandBuffer.IssuePluginEvent
- CommandBuffer.ReleaseTemporaryRT
- 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.WaitOnGPUFence


系统保证这些命令都在同一队列上执行。如果目标平台不支持异步计算队列,则 Unity 会将工作分发到图形队列。

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

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