Fork me on GitHub

创建作业

要在Unity中创建作业,您需要实现IJob接口。IJob允许您安排与正在运行的任何其他作业并行运行的单个作业。

注意:“作业”是Unity中用于实现IJob接口的任何结构的集合术语

要创建工作,您需要:

  • 创建一个实现的结构IJob
  • 添加作业使用的成员变量(blittable类型NativeContainer类型)。
  • 在结构中创建一个名为Execute的方法,并在其中实现作业。

执行作业时,该Execute方法在单个核心上运行一次。

注意:在设计作业时,请记住它们对数据副本进行操作,除非是NativeContainer因此,从主线程中的作业访问数据的唯一方法是写入NativeContainer

简单作业定义的一个示例

// Job adding two floating point values together
public struct MyJob : IJob
{
    public float a;
    public float b;
    public NativeArray<float> result;

    public void Execute()
    {
        result[0] = a + b;
    }
}
posted @ 2019-08-07 08:17  gamedev'  阅读(162)  评论(0编辑  收藏  举报