Version: 2021.1

CommandBuffer.WaitOnAsyncGraphicsFence

切换到手册
public void WaitOnAsyncGraphicsFence (Rendering.GraphicsFence fence);
public void WaitOnAsyncGraphicsFence (Rendering.GraphicsFence fence, Rendering.SynchronisationStage stage);

参数

fence 指示 GPU 在执行图形队列处理前等待的 GraphicsFence
stage 在某些平台中,对于特定的绘制调用,在完成顶点处理和开始像素处理之间存在明显间隙。此参数允许请求的等待在下一个项目顶点或像素处理开始之前进行。如果下一个要提交的项目是计算着色器分发,此参数将被忽略。

描述

指示 GPU 等待,直至给定的 GraphicsFence 完成传递。

如果此 CommandBuffer 使用 Graphics.ExecuteCommandBufferScriptableRenderContext.ExecuteCommandBuffer 来执行,则图形队列的请求将要等待。

作为参数向此函数提供的 GraphicsFence 必须使用 GraphicsFenceType.AsyncQueueSynchronization 栅栏进行创建。

如果此 CommandBuffer 使用 Graphics.ExecuteCommandBufferAsync 或 ScriptableRenderContext.ExecuteCommandBufferAsyn 来执行,则执行命令缓冲区所在的队列将要等待。

在不支持 GraphicsFences 的平台中,此调用不执行任何操作,请参阅:SystemInfo.supportsGraphicsFence

此函数会在 CPU 上立即返回。栅栏仅影响 GPU 处理。

另请参阅:Graphics.ExecuteCommandBufferAsyncGraphics.CreateGraphicsFenceScriptableRenderContext.ExecuteCommandBufferAsync、ScriptableRenderContext.CreateGraphicsFence。