인프런 커뮤니티 질문&답변

이재호님의 프로필 이미지
이재호

작성한 질문수

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

12강 언리얼 엔진의 메모리 관리

ReferenceObject를 매 GCCycle마다 등록해주어야 하는건가요?

해결된 질문

작성

·

399

0

강의를 듣고 ReferencedObject로 등록되는 시점이 궁금하여 디버깅을 해보았습니다.

 

디버깅을 해보니 GCCycle마다
FStudentManager::AddReferencedObjects()가 호출되던데, 이를 그냥 GUObjectArray에 매번 새로 등록하고 있다는 뜻으로 받아들이면 될까요?

 

만약 그렇다면 매번 새로 등록해주는 이유가 궁금합니다.

답변 2

0

이득우님의 프로필 이미지
이득우
지식공유자

호출이 왜 되는지에 대해서는 생각해보면 GC시스템 특징상 자신이 관리하는 오브젝트 목록이 유효한지 주기적으로 검사해야겠지요. 아니면 오브젝트가 스스로 등록하고 점검해야 하는데 이는 비용이 많이 들겠지요?

0

이득우님의 프로필 이미지
이득우
지식공유자

음.. 정확하게는 답변하려면 소스를 분석해야 하니 이는 어려울 것 같고, 일반 오브젝트가 사용 중인 언리얼 오브젝트를 참조해야 하니 이를 체크하는 작업으로 보여지네요.
정확한 이유는 언리얼 포럼에 가서 언리얼 GC 시스템을 제작자한 사람에게 직접 물어보는게 좋지 않을까 싶습니다. ㅋ

이재호님의 프로필 이미지
이재호

작성한 질문수

질문하기