Dots Demos by Unity2020.1.0f

Dots


多线程式数据导向型技术堆栈,主要由 Jobs、ECS、Burst,这三部分组成。
Job System(编写多线程代码)
ECS(编写高性能代码)
Burst Compliler(编译生成高性能代码)

Debug ECS


先看看Debug工具,从Debug工具看看对象是这么个情况。
Dots Demos by Unity2020.1.0f_第1张图片
很详细。

Demo Examples01


接下来运行 ExamplesScene01 这是一个很常规的操作,按下空格键位实例化100000个矩形,并且向屏幕下方移动(反复)。
最终我们看看Profile:
Dots Demos by Unity2020.1.0f_第2张图片

我们可以看到,非常的耗时,在 BehaviourUpdate 里面耗时清晰可见,代码耗时也有99+的耗时,帧率 3fps,很感人的帧率。

Demo Examples02


经过上面 Examples01 我们可以看到常规手段的性能问题,接下来我们把位置的更新计算提交到 作业系统上(Jobs)再看看性能:
Dots Demos by Unity2020.1.0f_第3张图片

很明显,从99+毫秒降低到1毫秒不到,Jobs 和新的数学库 也确实是很给力,帧率 5fps,很感人的帧率。

Demo Examples03


接下来我们尝试ECS。
Dots Demos by Unity2020.1.0f_第4张图片
ECS渲染这块移动到 Hybrid Renderer 这个里面,我们可以看到Unity主渲染减低了很多,应该是被分摊到了Jobs里面了,但是代码效率毫秒数提升了不少(不过也可能是我的代码问题),10万的游戏物体,应该还算可以了。帧率在13+左右,确确实实提升了不少。

最后Dots确实是个好东西,但是需要写的代码还是很多,目前感觉ECS还不是特别好用,但是 Jobs,Burst,确实可以在项目中尝试一下,性能可以参考案例二,这样可以把CPU控制好,我们就只需要关心渲染这块。

最后贴上案例地址:https://gitee.com/alone_xb/Dots-Demos-Unity2020.1.0f

你可能感兴趣的:(Unity,Unity基础,DOTS)