简介
decs是目前Github上开源的一个ECS实现(DECS源码地址), 对比复杂度较高的entt, 以及稍微简单一点的entityx, decs的实现非常简洁, 没有过多的像Event等的高阶功能...Archetype部分
5.1 Archetype内存布局
decs没有使用额外的内存分配器, 而是自己实现的, 这也跟ECS本身一般使用SoA数据布局方式, 同类型Component存储在连续的内存上...Chunk和在Chunk中的索引, 以及分代Index(对应Entity被复用一次该计数加1).
6.2 World
World是decs的操作入口, 对Entity的增加删除操作, 以及对Entity...总结
整个decs实现借助c++14的相关特性, 很好的完成了Archetype based ecs的实现, 以下几个点是当前比较关注的:
整体代码的实现非常简洁
从类型T到64位hash值的compiler...使它可以更好的跟共享内存或其他内存分配方式搭配
面向数据的设计更有利于序列化反序列化, 后续对接C++反射后可以比较自然的完成Entity的序列化反序列化, 有效简化像对象的Cache更新, Real/ghost迁移等一系列的任务