반응형
Flyweight Pattern
다수의 객체가 유사한 속성을 가지고 있고, 그 속성 중 일부가 반복되는 경우 메모리 사용량을 줄이기 위해 객체를 공유하는 디자인 패턴이다. 간단히 말해 대량의 인스턴스가 가진 속성을 최적화하는 패턴이다.
예를 들어 이해해보자
게임에서 많은 양의 GameObject가 있다고 가정해보면 각 객체가 비슷한 구성 요소나 속성을 가지고 있더라도 각 인스턴스에 동일한 데이터가 복사되기 때문에 많은 메모리를 차지하게 된다.
예를 들어 필드가 Value Type(예 : 구조체,배열등)인 경우 각 GameObject는 자체 데이터 복사본을 가진다.
그러므로 우리는 Flyweight Pattern을 사용해서 메모리 최적화를 해야한다.
Unity에서 Flyweight Pattern는 ScriptableObject!
Unity에서 Flytweight Pattern을 구현할 떄 ScriptableObject를 사용하면 된다. 이는 메모리 내에 한번만 로드되며 여러 객체가 동일한 데이터 구성을 공유할 수 있습니다.
(Scriptable Object에 대해 알아보러 가기)
반응형
'유니티 공부 > Unity' 카테고리의 다른 글
Unity - DirtyFlag Pattern (0) | 2024.11.11 |
---|---|
Unity - Sprite Library Asset (0) | 2024.11.08 |
Unity - Unity6가 출시되었습니다! (3) | 2024.11.07 |
Unity - AnimationCurve(Lerp보다 더 좋음!) (0) | 2024.10.07 |
Unity - Hold on ( busy for .. ) 무한 로딩 문제 (0) | 2024.07.18 |
댓글