• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

13분 30초쯤에 메모리누수가 생긴다는게 잘이해가 안가네요

19.09.03 16:30 작성 조회수 135

1

포탄을 쏘고 움직이고 포탄을 쏘면 메모리 릭이 생기신다고 하셨는데

왜 메모리릭이 생기는지 잘이해가 안갑니다.

15분에서 힌트 주신다면서 총알이 있는 상태에서 또 스페이스를 누르면 원래 나가던 총알이 딜리트가 안된상태에서 뉴 불릿으로 새롭게 만들어지면서 메모리릭이 생기게 된다 이 이유 때문인건가요? 아니면 다른 문제 인건가요?

 

그리고 혹시 이런 부분에서 메모리 릭이 실시간으로 나고있는지 아닌지 확인 하는 방법이

따배c++에서 비쥬얼 스튜디오로 프로파일링 하기 이부분을 참고하면 되는건가요?

 

답변 1

답변을 작성해보세요.

0

네 맞습니다.  delete되기 전에 새로 만들면 메모리가 쌓입니다. 모던 C++에서는 스마트 포인터를 사용해서 미연에 방지하기도 합니다만 게임 엔진 같이 최적화를 많이 해야 하는 분야에서는 new/delete을 수동으로 하는 경우도 있어서 알아두리면 좋습니다. 메모리 릭 확인 방법은 C++강의에서 여러 차례 직접 보여드린 적이 있습니다. 강의 전반에 걸쳐 여러 차례 나옵니다. C++강의 수강자를 대상으로 하고 있는 강의이지만 간단히 말씀드리자면 디버거를 실행시킨 후 진단도구의 메모리 그래프를 보실 수도 있고 힙의 상태를 캡춰해서 보실 수도 있습니다. 인터넷 검색으로도 정보를 얻으실 수 있습니다. 좋은 게임 만들어 보시길 바래요!