티스토리 뷰

Programming/ECS -1.0

Managed vs UnManaged

Inner-Peace 2023. 1. 2. 12:10
반응형

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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함