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

本文介绍了DOTS技术,一种用于提高游戏性能的技术堆栈,包括ECS、JobSystem和Burst编译器等内容。通过《天谕》手游的实际案例,展示了DOTS在多线程开发中的优势,以及如何在Unity环境中配置DOTS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是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环境搭建就完成了。
更新中…

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值