fenceType | 要创建的 GraphicsFenceType。目前唯一支持的值是 GraphicsFenceType.AsyncQueueSynchronisation。 |
stage | 在哪个 SynchronisationStage 之后插入栅栏。 |
GraphicsFence 返回一个新的 GraphicsFence。
创建 GraphicsFence。
GPU 在完成您在此调用之前发送的 Blit
、Clear
、Draw
、Dispatch
或纹理复制命令后,将通过 GraphicsFence
栅栏。这包括来自 命令缓冲区 的命令,GPU 会在您创建栅栏之前立即执行这些命令。
您可以使用 stage
参数在顶点或像素处理结束之后插入 GraphicsFence 栅栏。在某些平台上,绘制调用中顶点处理结束和像素处理开始之间存在间隙。
如果之前的命令是计算着色器调度,Unity 将忽略 stage
。
某些平台无法区分顶点处理结束和像素处理结束。在这些平台上,无论您使用 SynchronisationStage.PixelProcessing 还是 SynchronisationStage.VertexProcessing 作为 `stage` 的值,您都将获得相同的结果。
如果您在不支持栅栏的平台上调用 CreateGraphicsFence
,则栅栏没有功能,并且方法 Graphics.WaitOnAsyncGraphicsFence 和 CommandBuffer.WaitOnAsyncGraphicsFence 将不起作用。使用 SystemInfo.supportsGraphicsFence 检查平台是否支持栅栏。
其他资源:GraphicsFence、Graphics.WaitOnAsyncGraphicsFence、CommandBuffer.WaitOnAsyncGraphicsFence。