【DOTS学习笔记】DOTS简介
admin
2024-01-21 18:30:33
0

目录

  • 前言
  • DOTS是什么?
    • 核心Package
    • 游戏功能相关Package
  • 谁需要关注DOTS?
  • DOTS可以应用到哪些地方?
  • 为什么需要DOTS


前言


本文是Metaverse大衍神君的《DOTS之路》系列课程的学习笔记

DOTS是什么?


Data-Oriented Technology Stack(面向数据的技术栈)

从字面意义上来说DOTS是面向数据的技术栈

实际上Dots是由Unity的五个核心Package组成
它定义了一种全新的Unity代码编写模型
并在这些核心包之外提供了额外的游戏功能相关的Package和工具
是Unity下面向数据设计与编程的一整套解决方案

核心Package


  • The C# Job System:
    • 提供快速、安全和使用简单的编写多线程方式
  • The Brust Compiler
    • 优化C#代码的编译器
    • 可以编译生成比通过Mono或IL2CPP更快的代码
    • 并不止为DOTS而存在,同样可以编译Unity中的任何代码
  • Unity Mathematic
    • 一套可以在Job System中使用的数学库
    • 在Brust编译的代码中是经过特别优化的
  • Unity Collections
    • 提供常见的集合类型(列表、哈希映射表等)
    • 内存分配属于非C#托管类型
    • 可以在Brust编译代码中的Job System中使用
    • 这些基类类型支持安全检查,有助于他们在Job System中安全使用
  • Entities(Entity-Component System)
    • Entity对象是比GameObject更轻量、更高效的替代品
    • Entity并不承担任何代码
    • Conpoment只是片段数据集合
    • Entity和Componment都由System对应的代码单元处理

游戏功能相关Package


  • Entities.Graphics(1.0版本之前的Hybird Renderer)
    • 支持URP和HDRP的Entity渲染解决方案
    • 并不是为了优化GPU而是优化CPU上的性能而设计的
  • Netcode
    • 建立在五个核心包上的DOTS网络解决方案
    • 提供网络多人服务器功能、客户端预测等相关功能
  • Physics
    • 建立在五个核心包上的DOTS物理解决方案
    • 支持两个后端
      • Unity Physics(默认)
        • 无状态的确定性物理库
        • 适合多人网络游戏
      • Havok Physics
        • 有状态但不具备确定性的物理库
        • 更稳定功能也更强大
  • Animation(开发中)
    • 支持DOTS的Animation包
  • Audio(开发中)
    • 支持DOTS的音乐相关包

谁需要关注DOTS?


  • 技术负责人
    • 在技术选型与Unity项目中是否使用DOTS的重要决策人
  • 处理游戏逻辑部分的开发人员
    • 需要非常了解DOTS的代码编写与设计方式
    • 了解Brust编译的细节
  • 处理网络通信部分的开发人员
    • 需要非常了解DOTS的代码编写与设计方式
    • 了解Brust编译的细节
  • 处理动画部分的开发人员
    • 了解动画扩展包的使用
  • 处理物理模拟部分的开发人员
    • 了解物理扩展包的使用
  • 开发工具与工作流相关内容的开发人员
  • 技术美术
  • DOTS相关工具与插件的开发人员

DOTS可以应用到哪些地方?


多线程加载、通讯,以及充分利用多核并行计算的游戏类型

  • 具有大世界流式加载的游戏
  • 具有复杂的大规模模拟的游戏
  • 具有多种网络类型的多人联机游戏
  • 具有需要客户端模拟预测的网络游戏,如FPS

总之,只要是CPU Bound类的游戏都可以考虑用DOTS做并行优化

为什么需要DOTS


  • CPU、GPU、Memory以及带宽的发展速度的不均衡
    • 添加高速缓存结构Cache内存层级结构去弥补(L1、L2、L3级的CPU缓存)
    • 面向数据编程本身是对缓存友好的,可以极大程度增加缓存Cache的命中,提高效率
  • 摩尔定律 的延续与现代CPU设计主要依靠的是
    • 越来越好的工艺
    • 越来越多的核
    • 分工越来越细的处理单元与存储
    • SIMD/SIMT
  • 并行编程的发展,要么依赖特地的硬件,要么是针对科学计算设计的,几乎无法集成到Unity中
    • OpenMP
    • TBB(Intel Threading Building Blocks)
    • CUDA(Compute Unified Device Architecture)
    • OpenCL(Open Computing Language)
    • MPI/OpenMPI(Message Passing Interface)

相关内容

热门资讯

英伟达投资初创公司Harmon... IT之家 1 月 15 日消息,据 AXIOS 网站报道,芯片制造商英伟达(Nvidia)加入了投资...
西贝闭店30%:老派企业家的认... 102家门店集中关停,为西贝长达四个月的“预制菜风波”给出了最直接的市场答案。而贾国龙在闭店声明中的...
原创 黄... 最近听说金店又调价了,我隔壁的王阿姨本来想买条项链,结果周大福的黄金从1450多跌到1426,她就一...
估值达40亿元 冲刺港股 上海... 《科创板日报》1月15日讯(记者 史士云)近日,上海生生医药冷链科技股份有限公司(以下简称“上海生生...
志特新材、*ST铖昌完成核查,... 财联社1月15日讯,商业航天牛股*ST铖昌和今年首只翻倍牛股志特新材今日双双宣布股票明日复牌。 今日...
暴涨820.93%后,国晟科技... 本报(chinatimes.net.cn)记者李佳佳 李未来 北京报道 1月14日晚间,上交所官方微...
雷军:小米推出YU7全系7年低... 新闻荐读 针对特斯拉中国推出的7年低息购车方案,小米董事长兼CEO雷军在直播中表示,公司紧急推出YU...
白癜风医生李从悠:颈部白癜风易... 颈部属于暴露且活动频繁的部位,白癜风患者在护理时需格外注意,科学的护理能有效减少病情波动,为治疗营造...
黄燕铭:“中间地带”资产或受关... 1月15日,同花顺举办资本市场高质量创新发展交流会。会上,东方证券研究所所长黄燕铭就2026年经济形...
迅雷起诉前CEO陈磊,称侵害公... 1月15日,南都N视频记者从知情人士处获悉,深圳市迅雷网络技术有限公司(简称“迅雷”)及子公司深圳市...
焦煤中央医院眼科: 日间手术三... □记者 吴文可 文图 “当天入院、当天手术、24小时内出院”,这是日间手术为患者带来的全新就医体验。...
一天2只!年内券商发债热潮升温... 随着A股市场回暖带动两融规模屡创新高,叠加市场低利率环境带来的融资成本优势,2026年券商发债融资迎...
美股打新分析,又一只加密货币概... 2025年美股打新有3只加密货币概念股和1只医疗用品股上市后暴涨,使参与打新的老投资者赚的盆满钵满。...
南方能源行业可信数据空间引入电... 近日,南方电网公司第七届电力调度AI应用大赛在广州落幕。在活动现场,南方电力调度控制中心依托南方能源...
深圳“技客”故事|黄佳杰:从“... 深圳新闻网2026年1月15日讯(记者 林玟珊)当听到自己名字被念出,成为世界冠军的那一刻,黄佳杰的...
央行宣布下调各类结构性货币政策... 每经记者|李玉雯 每经编辑|魏文艺 1月15日,中国人民银行新闻发言人、副行长邹澜在国新办新闻发布...
振芯科技违规信披!公司及董事长... 据振芯科技公告披露,1月14日,该上市公司收到四川证监局出具的《关于对成都振芯科技股份有限公司及谢俊...
袁记云饺赴港上市,体育生袁亮宏... 一位湖南益阳走出的青年,在2012年南下广州,用仅有的3万元,在荔湾区的菜市场里租下一个5平方米的档...
券业首份业绩!中信证券净利首破... 券商行业首份业绩快报出炉。 1月14日晚间,中信证券发布2025年度业绩快报。快报显示,中信证券20...
氧化铝老板:“今年太扎心了!” 在刚刚过去的2025年,尤其是下半年,氧化铝价格一路打滑,甚至是在年末击穿了国内多数氧化铝生产商的现...