본문 바로가기
유니티 공부/Unity

Unity - Flyweight Pattern(+) ScriptableObject)

by 코딩하는 돼징 2024. 11. 9.
반응형

Flyweight Pattern

다수의 객체가 유사한 속성을 가지고 있고, 그 속성 중 일부가 반복되는 경우 메모리 사용량을 줄이기 위해 객체를 공유하는 디자인 패턴이다. 간단히 말해 대량의 인스턴스가 가진 속성을 최적화하는 패턴이다.

 

예를 들어 이해해보자

게임에서 많은 양의 GameObject가 있다고 가정해보면 각 객체가 비슷한 구성 요소나 속성을 가지고 있더라도 각 인스턴스에 동일한 데이터가 복사되기 때문에 많은 메모리를 차지하게 된다.

예를 들어 필드가 Value Type(예 : 구조체,배열등)인 경우 각 GameObject는 자체 데이터 복사본을 가진다.

 

그러므로 우리는 Flyweight Pattern을 사용해서 메모리 최적화를 해야한다.

 

Unity에서 Flyweight Pattern는 ScriptableObject!

Unity에서 Flytweight Pattern을 구현할 떄 ScriptableObject를 사용하면 된다. 이는 메모리 내에 한번만 로드되며 여러 객체가 동일한 데이터 구성을 공유할 수 있습니다.

(Scriptable Object에 대해 알아보러 가기)

출처 : https://www.youtube.com/watch?v=0j3Y_YUV_Mw&t=73s

 

반응형

댓글