版本: Unity 6 (6000.0)
语言英语
  • C#

CommandBuffer.WaitOnAsyncGraphicsFence

建议修改

成功!

感谢您帮助我们提升 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读用户提出的每个建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议修改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public void WaitOnAsyncGraphicsFence(Rendering.GraphicsFence fence);

声明

public void WaitOnAsyncGraphicsFence(Rendering.GraphicsFence fence, Rendering.SynchronisationStage stage);

声明

public void WaitOnAsyncGraphicsFence(Rendering.GraphicsFence fence, Rendering.SynchronisationStageFlags stage);

参数

fence GPU 等待的 GraphicsFence。图形栅栏的 fenceType 必须是 GraphicsFenceType.AsyncQueueSynchronisation
stage 等待的 SynchronisationStage

描述

指示 GPU 在通过 GraphicsFence 栅栏之前暂停处理队列。

此方法在 CPU 上立即返回。只有 GPU 处理受图形栅栏影响。

您可以使用 stage 参数等待下一个项目的顶点或像素处理开始。在某些平台上,在绘制调用中,顶点处理结束和像素处理开始之间存在间隔。如果最后一个命令是计算着色器调度,Unity 会忽略 stage

此方法仅在支持栅栏的平台上有效。使用 SystemInfo.supportsGraphicsFence 检查平台是否支持栅栏。

使用此函数可能会创建循环依赖项,从而导致 GPU 死锁。有关更多信息,请参阅 GraphicsFence

其他资源:GraphicsFenceCommandBuffer.CreateGraphicsFence