Unity DOTS(ECS + JobSystem + BurstCompile) 要点分享

从接触DOTS到基于该技术栈开发游戏有段时间了,整理了些东西,部分来自于官网文档的要点,部分来自于项目实践,mark一下,欢迎各位看官指正。


关于传统游戏开发困境的简单思考

       传统方式基于面向对象开发方式,优点是框架设计简便,封装、继承、多态、可以怼出来各种你想要的东西,入门低产出相对高且稳定,缺点相对不明显,只有在开发到特定游戏表现的时候,比如超大场景,超多战斗单位,有很大计算量的时候,才会发现oo模式下的框架,笨拙且相对低效,无法应对这些移动端游戏性能表现和特定需求之间的矛盾。

        Unity DOTS的框架应运而生,面向数据的技术栈,ECS+JobSystem+Burst,ECS框架下处理数据的能力提升,外加Job多线程充分利用多线程资源提升算力,并且在编译层面对编译生成的IL中间语言进行进一步优化,生成高性能的机器码。这是一套上限很高的高性能的开发框架。

        缺点么,当然更明显,首先基础概念深入,理论知识要求高,一知半解的情况下开发很危险。其次System Job组织调度写法相对复杂且关注点很多。除此之外,性能敏感、熵值不稳也是很难搞。

 

会把一些开发关注点罗列,如果还没简单过一遍Unity官方文档的话,最好过去先简单看一下,最起码要知道我们在讨论什么对吧。

https://docs.unity3d.com/Packages/com.unity.entities@0.1/manual/component_data.html


头脑风暴~~~

 

ECS + JobSystem + BurstCompile = 高性能 + 多线程 +  编译层面优化

 

基础特性


ECS

  • ArcheType & Chunk
    • ArcheType是Ent
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值