티스토리 뷰
반응형
UnManaged
- struct
- primitive type
- BlobAssetReference<T>
- Collections.FixedString
- Collections.FixedList
- Fixed array
ex)
public struct UnManaged : IComponentData
{
public int Value;
}
Managed
- class
- Job, Burst 사용 불가능
- GC
- 직렬화를 위해 파라미터가 없는 생성자 필요
- ICloneable, IDisposable 을 추가해주는것이 좋다.
- Unity GameObject
- 청크에 직접 저장하지 않음 전체 월드에 큰 배열로 저장을한다, 그런다음 청크에 관련 구성 요소의 배열 인덱스를 저장.
엔티티의 Managed 요소에 엑세스 할때 유니티는 추가 인덱스 조회를 처리.
그러니 UnManaged보다 덜 최적화 된다 ( 되도록이면 UnManaged로 사용해야됨 )
ex)
public class Managed : IComponentData, IDisposable, ICloneable
{
public GameObject go;
public void Dispose()
{
UnityEngine.Object.Destroy(go);
}
public object Clone()
{
return UnityEngine.Object.Instantiate(go);
}
}
반응형
'Programming > ECS -1.0' 카테고리의 다른 글
EntityCommandBuffer (0) | 2023.01.05 |
---|---|
SystemAPI (0) | 2023.01.04 |
System Group (0) | 2023.01.03 |
SystemBase vs ISystem (0) | 2023.01.03 |
ECS란? (0) | 2023.01.02 |
댓글