• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

FBX Loader 메모리 릭 해결법

21.10.10 20:18 작성 조회수 138

0

직접 엔진을 짜던 도중에 + 디버깅 중에

강의에서 사용된 FBX 로더의 메모리릭을 발견했습니다.

저만 그런건지 모르겠지만 해결법도 같이 공유합니다.

 

메모리릭의 원인은 

FbxArray<FbxString*> _animNames;

이 FBX SDK의 데이터를 제대로 릴리즈 하지 않아서 그랬습니다.

 

저는 따로 셧다운 함수를 늘 만들어서 쓰는편인데, (디스트럭터에 해도 됩니다.)

해당 함수에 추가로 

 

I32 count = _animNames.GetCount();
for (I32 i = 0; i < count ; i++)
{
        _animNames[i]->Clear();
         delete  _animNames[i];
}
_animNames.Clear();

 

부분을 추가하시면 됩니다.

FBX SDK 문서를 보면 Clear 만으로 메모리를 해제해주는것 같았는데,

왜 인지는 모르겠지만 디버깅 중에 메모리 덤프가 C런타임에 잡혔습니다.

큰 메모리블록이 줄줄 새는건 아니지만 신경쓰인다면 이렇게 해제하세요!

혹시나 찾는 사람 있을까봐 글 작성합니다.

 

 

 

답변 1

답변을 작성해보세요.

0

확인 감사합니다