Unity2018新功能抢鲜 | C# Job System(2)

Unity2018新功能抢鲜 | C# Job System(2),第1张

上一篇文章我们讲了job system,这篇文章来看看如何使用job system以及常见的问题。

如前一节所述,作业系统依赖blittable数据和NativeContainers。要调度job,需要实现 IJob 接口,创建结构体的实例,填充数据并调用 Schedule 。当你安排这个job后,会返回一个可用作其他job的依赖项的job句柄,或者当你需要再次访问传递给主线程上的作业的NativeContainer时,你可以等待它。

当你安排job时,job实际上不会立即开始执行。我们创建了一批作业来安排需要刷新的作业。在ECS中是隐式刷新的,在ECS外部,需要通过调用静态函数 JobHandle.ScheduleBatchedJobs() 来显式刷新它。

如果我们有多个作业在相同的数据上运行,我们需要使用依赖关系:

如上一节所述,调度job意味着只能有一项工作在做一件事。在一个游戏中,想要在大量物体上执行相同 *** 作的情况非常普遍。对于这种情况,有一个单独的工作类型: IJobParallelFor 。IJobParallelFor的行为与IJob类似,但不是单次 执行 得到一个结果而是一次得到批量结果。系统实际上不会为每个项目安排一个job,它会为每个CPU核心最多安排一个job,并重新分配工作负载,这些都在系统内部处理的。在调度ParallelForJobs时,必须指定要分割的数组的长度,因为如果结构中有多个数组,则系统无法知道要将哪个数组用作主数据。你还需要指定批次的数量。批处理计数控制你将获得多少job,以及线程之间的工作重新分配的细化程度如何。拥有较低的批处理数量(如1)会使你在线程之间进行更均匀的工作分配。但是,它会带来一些开销,因此在某些情况下,稍微增加批次数量会更好。

这是使用job system时常见错误的集合:

那么如何 *** 作才能激活这个免费授权那? 首先你必须先下载安装Unity,我这里以Unity5.4.1版本为例进行讲解:

2

双击打开Unity5.4.1,会看到一个“License Error(授权错误)”的界面

3

我们需要点击该界面右上角的“SIGN IN(登录)”,d出登录面板,我们在这个面板上填写我们自己在Unity官网注册的账号:

END

方法/步骤2

1

账号填写完毕后,点击“Sign In”按钮,登录我们的账号,这个时候我们的账号就登录了,然后就可以点击“Re-Activate(重新激活)”:

2

点击“重新激活”后,看到我们的激活界面,在这个界面,我们选中“Unity Personal”:

3

然后点击“Next”,进入下一步,会d出“License agreement(授权协议)”这么一个窗口,我们选种第三个单选框:

END

方法/步骤3

1

点击Next,进入下一步,会进入“Survey(问卷调查)”,什么都不需要选,直接拉到最下面,点击OK:

2

这样就大功告成了:

3

然后我们可以直接关闭掉这个界面。然后重新双击Unity的图标打开Unity,新建一个Unity的工程项目,进入Unity的主界面:

END

方法/步骤4

点击菜单Help-->About Unity...,d出“Untiy关于”界面,我们可以看到当前的授权状况,是Unity个人版本授权。

2

那么到此为止,Unity5.x版本个人免费授权 *** 作步骤就给各位演示完毕了。

你的数据已经保存在数据集ds中了.

可以通过debug.log()或print() 函数显示在console窗体上以供调试. 这两个函数是等价的.

下面是接着你的代码, 显示数据的示例:

void Start () {

//省略...

adapter.Fill(ds)   

DataTable tbl = ds.Table[0]   

foreach(DataColumn col in tbl.Columns)   

    debug.log(col.ColumnName)   

 }


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8670983.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存