当前位置: 首页 > news >正文

西部数码网站管理助手 d盘网络教育全程托管

西部数码网站管理助手 d盘,网络教育全程托管,wordpress启用收费下载无效,网站建设费用摊销会计分录最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Struct Change机制#xff0c;方便大家上手学习掌握Unity DOTS开发。 基于ArchType与Chunk的Entity管理机制 我们回顾以下ECS的内存管理核心机制,基于ArchTypeChunk的Entity管理模式。每个Entity不直接存放数据#xff0c…最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Struct Change机制方便大家上手学习掌握Unity DOTS开发。 基于ArchType与Chunk的Entity管理机制 我们回顾以下ECS的内存管理核心机制,基于ArchTypeChunk的Entity管理模式。每个Entity不直接存放数据数据全部存放到ComponentData里面。每个类型的Entity会把它所有的ComponentData的组合在一起。每种类型的Entity都会得到”一种组合类型”,我们把它叫做ArchType。每种类型的Enitity对应一种ArchType。如果有新的类型的Entity出来系统就会有新的一种ArchType。ArchType对应的内存块都是由Chunk统一分配每个Chunk只会分配一种ArchType的内存块。 对惹这里有一个游戏开发交流小组大家可以点击进来一起交流一下开发经验呀 ArchType1: chunk1【e1(c1c2),e2(c1c2),e3(c1c2)】 chunk2【e4(c1c2),e5(c1c2),e6(c1c2)】 ...ArchType2: chunk1【e1(c3c4),e2(c3c4),e3(c3c4)】 chunk2【e4(c3c4),e5(c3c4),e6(c3c4)】 ...ArchType3: chunk1【e1(c5c6),e2(c5c6),e3(c5c6)】 chunk2【e3(c5c6),e4(c5c6),e5(c5c6)】 ...Struct Change机制 当我们操作entity中的ComponentData的时候有可能导致Struct Change,及原来的ArchType以已经不适合新的Entity了,必须要产生新的ArchType来存放数据,这种我们叫做Struct Change。以下操作会导致Struct Change发生: 创建or删除一个Entity: Unity会从当前Entity类型的ArchType里面找到一个chunk, 把第一个空闲的内存块分配分配出来。如果当前的chunk都满了就重新向操作系统分配一个chunk内存页出来。当删除一个entity的时候先找到内存块所在的chunk,找到内存块在chunk中的偏移位置把最后一个entity的component数据复制到刚才释放的内存块中,把最后的那个内存块释放出来供一下分配。添加或删除一个组件数据: 当我们给entity添加or删除一个组件数据的时候意味着前后是不同的ArchType(因为改变了组合类型)。所以要先释放原来ArchType对应的内存块然后在新的ArchType里面再找Chunk来分配出Entity的新的ComponentData内存块。修改了同一类型Entity共用的ShareComponent数据: 每种ArchType共用一个ShareComponent数据如果修改了ShareComponent数据那么意味着要创建一个新的ShareComponent数据。那么代表着当前的Entity已经不再属于当前的ArchType了,既然这样系统就要重新基于新的ArchType来给Entity重新分配内存块回收之前的内存块。 Struct Change的代价与开销 Struct Change引发的开销是非常大的所以当我们基于DOTS来开发的时候你要能清楚的知道Struct Change的开销。Struct Change开销除了要重新从chunk里面分配内存块复制数据以外还有同步点的开销,同步点你可以理解为一个锁当发生了Strcut Change的时候为了保证正确性,系统会生成一个同步点,这样其它的要使用这个数据的线程都会被挂起直到Struct Change操作完成。 Struct Change还会导致之前系统里面的组件引用失效所以当发生Struct Change的时候,还要重新更新引用数据,保证后面数据的正确。从上面来看Struct Change开销确实很大特别是每次修改还要获取同步点同步点会导致系统的吞吐量下降我们可以考虑把所有的Struct Change延后一起发生这样可以只请求一个同步点的基础上把所有的Struct Change全部处理掉。
http://www.dnsts.com.cn/news/52780.html

相关文章:

  • 网站加速器个人主页英语
  • 政务网站建设规范wordpress手机版侧栏导航条
  • 建设网站报价陕西省建设网三类人员官网
  • 单位网站建设汇报桂林市网站设计
  • 广州公共资源建设工程交易中心网站找人做自建房图纸去哪个网站
  • 怎样做医院网站免费招标信息网官网
  • 游戏企业用什么程序做网站活动推广方式
  • 江苏省建设局网站长春建设
  • 手机网站趋势江苏扬州工程建设信息网站
  • 地方旅游网站建设必要性带数据库的网页怎么制作
  • 天津做企业网站网站建设和制作
  • 网站背景图片优化企业网站建设需注意点
  • 长沙网站建设 芙蓉区请将网站首页底部的备案号
  • vs做网站怎样加数据库定制化开发
  • 手机微网站开发网站后台安全
  • 2014网站设计趋势地产网站开发
  • 怎么找做网站的公司网站建设分金手指排名八
  • 山西 网站建设qq官方官网入口
  • 邢台做移动网站的公司淄博企业网站建设
  • 海澜之家网站建设水平凡科小程序制作
  • 学做网站多久信誉好的微网站建设
  • seo sem 做网站百度关键词点击价格查询
  • 动画设计参考文献宁波seo关键词引流
  • 内丘网站建设下载京东购物
  • 网站建设是什么样的手机怎么发wordpress
  • 成都哪里有做网站的公司淘宝网官网登录首页
  • 网站建设开发费入什么科目个人网站模板源码下载
  • 做一款小说网站成都网络推广服务
  • 建设网站有什么原则seo是哪个英文的缩写
  • 合肥网站建设模块用php做网站要多久