동적으로 TMXTiledMap::create()를 하면 화면에 리소스를 띄우는 데 까지 수십초 이상 소요되는 문제가 있었다.

디버그모드에서만 발생하는 문제라서 한참을 고민하고 불편해했었는데, '혹시?!'하는 생각에 코드 한 줄 수정했더니 아주 빠르게 잘 돌아간다.

문제는 VLD(Visual Leak Detector)때문이었다.

VLD가 new, delete할 때마다 개입해서 하는 짓이 많다보니, 잦은 new(100*100칸의 tileset이라면 1만번~최대 수만번의 new가 발생할 것)때문에 그렇지 않았나 싶다.

결국 TMXTiledMap을 이용하는 프로젝트에서는 게임이 돌아가는 화면을 제대로 보려면 디버그시 VLD를 꺼야만 한다.

그러면 내 미천한 실력으로 인해 줄줄 새어나가는 메모리는 누가 봐주지..

Posted by RPG만들기XP
,