Unity DOTS学习 前置知识(二)
创始人
2024-03-08 16:00:43

ECS 架构和一些专用术语

Entity-Component-System

  • 实体组件系统(ECS )架构
  • 遵循组合优于继承的原则
  • 面向数据设计
  • 弱耦合
  • 常被应用在游戏开发上

本质:组合的是数据数组而非对象数组
ECS示例图:
ECS示例图

  • Entity
    虽然叫做实体,但是并非对象或容器,而是一个对象的索引ID,是一个标识符,并不包含任何数据和逻辑。
  • Component
    这是容器,但并非对象容器,仅仅是一个数据容器,也不包含逻辑。由Entity充当Component数据的标识符或者Key来使用。
  • System
    用于对特定组件和特定实体的数据进行操作

DOTS下关于ECS的专有名词

Archetypes (原型)

图1
Archetype是具有相同Component的实体类型。如图1,Entity A 和Entity B是同一个Archetype,Entity C 是另外一个。

Chunk (组块)

图2

  • 每一个Archetype所标记的内存会被分成固定大小并且连续的非托管内存块。每一个块被称为Chunk
  • chunk 中会包含共享同一Archetype的实体组件数组,默认为16KB。如果组件数据填错不满,也会留白(保证16KB)
  • chunk 存在的目的是为了方便做数据并行计算,方便做缓存的prefech。在数据对齐的同时又可以匹配缓存的CatchLine。

World和Enity Manager

  • World 是一系列Entity的组合,每一个Entity在World中是唯一的,统一受到Enity Manager的管理。Entity Manager负责创建、销毁、修改世界中的实体。

Structural Change (结构改变)

  • 所有导致需要重新组织内存块或内存块内容的操作,都称之为structural change.
    一共两个改变操作:一是改变结构,二是改变内容。
    在这里插入图片描述
    这两种改变都必须在主线程中做,而不能在工作线程做是resouce intencity(资源密集)类型的操作,效率很差.
    如下图,删除一个Entity所对应的组件,导致所属原型产生了变化,就属于structural change。另外,创建和销毁Entity,设置ShareComponent值都被视为structural change
    在这里插入图片描述
  • 如果在明确没有structral change的操作时,可以在编辑时做bake的操作,虽然会降低运行时的逻辑灵活性,但会提高运行时效率。(后期会对bake说明)

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...