以下文档均来源于ECS官网:
https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/ecs_entities.html
Dynamic Buffers(动态缓冲区)
DynamicBuffers supersede fixed array support which has been removed.
DynamicBuffer 是一种数据组件,允许为实体关联一个可变大小的,“弹性”的缓冲区。它的带有一个容器,容器内部允许承载一定数量的单元,如果内部容量不足时,会再重新分配堆内存。
使用此缓冲区时,内存的管理是完全自动的。与DynamicBuffers 相关联的内存由EntityManager 管理,以便在删除DynamicBuffer组件时,这些引用的堆内存也会自动释放。
DynamicBuffers用来取代固定数组(已从框架中移除)的功能。
声明缓冲区元素类型
要声明一个Buffer,你需要指定放入Buffer的元素类型{译者注:要注意这里描述的是缓冲区元素,而并非缓冲区本身,缓冲区DynamicBuffer本身将在向实体添加缓冲区时,由EntityManager自行分配}:
//本例描述了,对于每个缓冲区实例,它的块数据中应该保留的元素数量。
//在本例情况下,将保留8个整数(32个字节)以及缓冲区头的大小(对于64位设备上为16个字节)
[InternalBufferCapacity(8)]
public struct

本文档详细介绍了Unity ECS框架中的Dynamic Buffers,一种替代固定数组的数据组件,用于存储可变大小的弹性缓冲区。内容涵盖缓冲区元素类型的声明、如何向实体添加缓冲区、多种访问方式,包括直接访问和基于Entity的访问,以及实验性的缓冲区重新解释功能,强调了内存管理和线程安全。
最低0.47元/天 解锁文章
2910

被折叠的 条评论
为什么被折叠?



