메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

오늘에서야 안 것인데,

cocos2d에는 가비지 컬렉터가 존재한다.


스프라이트를 생성하고 Node에 연결하지 않으면,

얼마 후 가비지 컬렉터가 이를 지워 버린다.

스프라이트를 생성하면 바로 Node에 연결해줘야 한다는 것이다.


내 경우, 게임 중에 메모리 할당을 하는 것은 조금이라도 속도에 영향을 준다고 생각해서

스테이지 로딩 시에 미리 스프라이트들을 생성,

플레이 중에는 이를 처리하느냐 마느냐를 나타내는 플래그만 조절함으로

빠른 속도로 스프라이트가 나타나고 사라지게 만들었다.


하지만 가비지 컬렉터가 존재하기 때문에 노드에 연결해 놓지 않으면 사라져 버리고,

노드에 연결하면 화면에 보이고, 업데이트 부분에서 처리되기도 한다.

물론 위치를 화면에서 아주 밖으로 줘서 보이지 않게 하거나,

특별 처리 코드를 추가하는 방법도 있지만,

쓸데없이 코드가 복잡해지고, 복잡해짐 = 버그 발생율 증가이므로 그다지 마음에 들지 않는다.


가비지 컬렉터를 OFF시키는 옵션이 있을지는 모르겠지만,

메모리 관리상 있는게 깔끔할 것 같기도 하고,

크게 속도에 영향을 안 미친다면 그냥 생성해서 바로바로 노드에 붙여주는 식으로 만드는 게

Cocos2d에서는 순리인 듯 하다.


이걸 몰라서 만들어 둔 스프라이트들이 사라지는 바람에

어디서 에러나는지 이해를 못하고 몇시간을 헤멨다.

태그 :
조회 수 :
1963
등록일 :
2012.02.07
05:31:33 (*.140.69.176)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=469395
List of Articles
번호 제목 글쓴이 날짜 조회 수
85 클레스들을 담은 헤더들의 혼란 [4] A.미스릴 2008-06-21 3893
84 문D라이브도 더블버퍼링이 필요한가요? [3] A.미스릴 2008-06-28 4223
83 COgg 질문 [3] A.미스릴 2008-06-29 3710
82 srand에 관해서 [4] A.미스릴 2008-07-15 3868
81 C++ 질문 [1] A.미스릴 2008-12-21 3818
80 C++ 질문 2 [3] A.미스릴 2008-12-22 3565
79 흥크립트 질문. 글자에 관해서 [1] 에리 2009-03-21 3430
78 문D라이브로 만드는 더블드래곤.. 질문입니다 [4] 하와이안 2009-01-15 5550
77 SRPG을 구현하게 되면 ... [3] 짜스터 2010-10-05 2709
76 데이터 축소에 대하여 [2] 짜스터 2010-10-13 2430
75 조금씩 게임 소스가 완성 되어 가는데요. [2] 짜스터 2010-11-16 2188
74 DirectX 창모드에서 화면 지워지는 문제 [7] file 똥똥배 2010-12-12 2790
73 Windows To Go와 R-Studio를 이용한 손실된 데이터 복구하기 노루발 2020-01-30 89
72 2중 for문을 돌릴 때 [3] 똥똥배 2011-04-06 2539
71 lua와 C의 연동에서 상수(define이나 enum) 값처리 똥똥배 2011-05-25 3451
» cocos2d의 가비지 컬렉터 똥똥배 2012-02-07 1963
69 중력 처리할때 캐릭터가 낍니다. [2] ㅁㄴㅇㄹ 2012-02-12 1395
68 cocos2d-x 터치와 업데이트 활성화 시키기 똥똥배 2011-10-27 10657
67 TinyXML의 한계 [2] 똥똥배 2011-12-11 3761
66 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 2020-11-06 39