要在 Unity 中创建作业,必须实现 IJob 接口。借助 IJob
,可以调度与正在运行的其他作业并行运行的单个作业。
注意:“作业”是 Unity 中对于任何实现 IJob
接口的结构的统称。
要创建作业,您需要:
IJob
的结构。执行作业时,Execute
方法在单个核心上运行一次。
Note: When designing your job, remember that they operate on copies of data, except in the case of NativeContainer
. So, the only way to access data from a job in the control thread is by writing to a NativeContainer
.
// 将两个浮点值相加的作业
public struct MyJob : IJob
{
public float a;
public float b;
public NativeArray<float> result;
public void Execute()
{
result[0] = a + b;
}
}
2018–06–15 页面已发布
在 2018.1 版中公开了 C# 作业系统 NewIn20181