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

IJobExtensions.EarlyJobInit

建议进行更改

成功!

感谢您帮助我们提升 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实从用户那里阅读每项建议的更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议的变更未能提交。请在几分钟后<a>再次尝试</a>。感谢您抽出宝贵时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public static void EarlyJobInit();

说明

收集并缓存内部作业系统托管绑定的反射数据。

Unity 负责调用此方法:不要自行对其进行调用。如果项目中包括 Jobs 包,则 Unity 会生成代码在启动时调用 EarlyJobInit。这会带来以下优势

  • 作业初始化不会在作业调度期间延迟发生,这样会增加调度作业所需的时间。
  • Burst 编译代码可能会调度作业,因为初始化的反射部分与 Burst 编译器约束不兼容,而反射部分已在 EarlyJobInit 中发生。

注意:虽然 Jobs 包代码生成器会自动为所有封闭的作业类型处理该问题,但必须使用 Unity.Jobs.RegisterGenericJobTypeAttribute 手动为具有泛型参数的作业类型(例如 IJob&lt;MyJobType&lt;T&gt;&gt;) 注册作业类型。