작성한 질문수
이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
12강 언리얼 엔진의 메모리 관리
해결된 질문
작성
·
394
0
강의를 듣고 ReferencedObject로 등록되는 시점이 궁금하여 디버깅을 해보았습니다.
디버깅을 해보니 GCCycle마다FStudentManager::AddReferencedObjects()가 호출되던데, 이를 그냥 GUObjectArray에 매번 새로 등록하고 있다는 뜻으로 받아들이면 될까요?
만약 그렇다면 매번 새로 등록해주는 이유가 궁금합니다.
답변 2
호출이 왜 되는지에 대해서는 생각해보면 GC시스템 특징상 자신이 관리하는 오브젝트 목록이 유효한지 주기적으로 검사해야겠지요. 아니면 오브젝트가 스스로 등록하고 점검해야 하는데 이는 비용이 많이 들겠지요?
음.. 정확하게는 답변하려면 소스를 분석해야 하니 이는 어려울 것 같고, 일반 오브젝트가 사용 중인 언리얼 오브젝트를 참조해야 하니 이를 체크하는 작업으로 보여지네요. 정확한 이유는 언리얼 포럼에 가서 언리얼 GC 시스템을 제작자한 사람에게 직접 물어보는게 좋지 않을까 싶습니다. ㅋ