版本:Unity 6 (6000.0)
语言简体中文
  • C#
实验性:此 API 为实验性,将来可能对它进行更改或删除。

GraphicsStateCollection.WarmUp

建议更改

成功!

感谢你帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户建议的每项更改,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,你的建议更改无法提交。请在几分钟后<a>重试</a>。感谢你花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public Unity.Jobs.JobHandle WarmUp(Unity.Jobs.JobHandle dependency);

参数

dependency 等待完成的任务。

返回

JobHandle 预热任务的句柄。

描述

利用关联的图形状态预热此集合中的所有着色器变体。

这将导致创建已存储着色器变体的 GPU 表达。

此方法返回的 JobHandle 可用于控制 GPU 表达的创建是同步发生还是异步发生。

以下示例将异步执行预热。

using UnityEngine;
using UnityEngine.Experimental.Rendering;
using Unity.Jobs;

public class WarmUpExample : MonoBehaviour { public GraphicsStateCollection graphicsStateCollection;

void Start() { JobHandle handle = graphicsStateCollection.WarmUp(); } }

以下是关于如何等待任务句柄完成以同步执行操作的示例。

using UnityEngine;
using UnityEngine.Experimental.Rendering;
using Unity.Jobs;

public class WarmUpSynchronousExample : MonoBehaviour { public GraphicsStateCollection graphicsStateCollection;

void Start() { JobHandle handle = graphicsStateCollection.WarmUp(); handle.Complete(); } }

还可使用输入依赖项和返回的 JobHandle 将预热链接到其他任务。

using UnityEngine;
using UnityEngine.Experimental.Rendering;
using Unity.Jobs;

public class WarmUpSynchronousExample : MonoBehaviour { struct PostWarmUpJob : IJob { public void Execute() { Debug.Log("WarmUp is complete"); } }

public GraphicsStateCollection graphicsStateCollection; public JobHandle inputJobHandle;

void Start() { JobHandle handle = graphicsStateCollection.WarmUp(inputJobHandle);

var job = new PostWarmUpJob(); job.Schedule(handle); } }