Unity Dots(多线程式数据导向型技术堆栈)

一、什么是DOTS?

全称Data oriented Tech Stack,中文既是多线程式数据导向型技术堆栈,包括以下几个部分:
ECS(Entity Component System):编写高性能代码。ECS为游戏设计提供较好的方式,讲数据和行为分离,使开发者可以专注于解决实际问题。
Job System:编写多线程代码。在Job System前,Unity对多线程的支持并不是那么友好,开发者只能使用多线程做数据、网络等功能开发,有关对象的操作都只能再主线程中操作,而新的Jos System 以安全、易用的方式利用多核处理器,允许开发者写出完全、快速的代码,同时提供保护,避免出现线程安全等问题。
Burst编译器:编译生成高性能代码。Burst是一个新的LLVM-based, math-aware的后端编译器(backend compiler)。它把C# jobs编译高度优化的机器码,充分利用目标平台的特定能力。

二、如何使用DOTS?

Unity官方还未发布正式版本的DOTS,但在网易最新研发的游戏《天谕》已经见到了DOTS的身影,“网易天谕手游:Unity的DOTS在多线程开发的易用性和安全性方面提供了保障,《天谕》手游借此开发了多种鱼群生态行为和优化算法,实现了40余种、8000多条,不同鱼群生态的海底效果。
我们在iPhone6s 单worker线程跑5000条鱼的情况下,按照耗时能达到理论上250帧 ,在核心数更多的手机上,可以有更加优秀的性能表现。Unity的DOTS确实为更底层的性能提升提供了可能性,是一个革命性的技术。
以下是iphone 6s上5000条鱼可以跑250帧的耗时分布:
在这里插入图片描述
”。由此可见,DOTS对游戏性能的提升。

Unity环境配置

前提环境,这里推荐最新的Unity 版本
1.Window-Package Manager打开包管理窗口,点击下拉菜单Advanced,选择show preview package(Dots还未正式发布),
在这里插入图片描述
2.选中Entities,点击右下角Install进行下载安装,注意:在Unity最新版中,下载Entities时,会自动讲它所依赖的资源包下载,譬如Burst、Jobs等资源包
在这里插入图片描述
安装成功
在这里插入图片描述
3.仅安装以上的资源包,我们还无法正常使用Dots,还需导入Hybrid Renderer资源包,用来渲染显示
在这里插入图片描述
至此Dots环境搭建就完成了。
更新中…

猜你喜欢

转载自blog.csdn.net/weixin_42186644/article/details/113259139
今日推荐