Version: 2023.1

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

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

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