응애맘마조
230210 강의 본문
오늘은 장면 Scene 전환에 대해서 배웠습니다. 스테이지나 맵 전환에서 주로 사용합니다.
들고 있는 객체는 맵마다 다 다릅니다. 마을에서의 객체, 상점에서의 객체, 보스방에서의 객체 등등 전부 제각각의 객체를 가지고 있습니다. 하지만 항상 런타임 중에 동적할당으로 생성했었는데 그렇게 되면 메모리누수가 되기 때문에 컴퓨터에 안 좋은 영향을 주게 됩니다. 그래서 배열이나 오브젝트 풀링을 사용합니다.
맵 전환이나 일정 부분을 넘어갔을 때 로딩중의 장면이 나오면서 잠깐잠깐 느려지는 경우가 있습니다. 그때 볼 수 있는 장면이 로딩씬입니다. 로딩씬은 미리 생성했던 객체를 가져오기 때문에 느려질 수밖에 없습니다. 그렇다고 SafeDelete를 사용하게 되면 메모리 해제를 하게 되어 전환 시에 가리키고 있는 주소가 없어지게 됩니다. 이를 허상포인터라고 하거나 댕글링 포인터라고 합니다. 그래서 객체만 지우는 SafeRelease를 사용하는게 좋습니다. SafeRelease는 장면은 그대로 놔두고 안에 있는 객체만 지웁니다.
읽어주셔서 감사합니다.
Comments