언리얼 가비지 콜렉션, 스마트 포인터

Woogle·2023년 3월 24일
0

언리얼 엔진 5

목록 보기
41/63

📄Garbage Collection

  • 더이상 참조되지 않거나 소멸한 UObject 를 주기적으로 자동 제거하고 메모리를 관리해주는 편리한 기능

✏️ 작동 방식

  • Root Set으로 지정된 오브젝트부터 시작해서 UObject 레퍼런스 트리를 전부 추적한다.

  • 트리 검색에서 찾지 못한 UObject는 더이상 필요치 않은 오브젝트라 가정하고 제거한다.


✏️ 추가 정보

  • 언리얼 기본 설정에서 GC는 약 60초 주기마다 작동한다.

  • Root Set으로 지정된 오브젝트는 GC에 의해 삭제되지 않는다.

  • UPROPERTY로 선언된 멤버 변수는 소유한 UObject와 생명주기를 함께 한다.

  • Raw pointer를 사용하면 가리키는 대상이 제거되었는지 알 수 없다. 파괴되었을 수 있는 외부 변수를 참조할 때는 TWeakObjectPtr 를 사용해야한다.

  • Root Set을 명시적으로 지정해주거나, GC를 강제로 작동시켜줄 수도 있다.


📄 참고 자료

profile
노력하는 게임 개발자

0개의 댓글