Version: 2017.3
public void WaitOnGPUFence (Rendering.GPUFence fence, Rendering.SynchronisationStage stage= SynchronisationStage.VertexProcessing);

参数

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

描述

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

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

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

在不支持 GPUFences 的平台中,此调用不执行任何操作:SystemInfo.supportsGPUFence

此函数将立即在 CPU 中返回,栅栏将只影响 GPU 处理。

另请参阅:Graphics.ExecuteCommandBufferAsync Graphics.CreateGPUFenceScriptableRenderContext.ExecuteCommandBufferAsync、ScriptableRenderContext.CreateGPUFence。