2013-08-19 1 views
0

나는 내가 만들고있는 게임에 사용하고있는 스프라이트 시트를 가지고 있으며 스프라이트 시트와 관련된 메모리 관리에 대한 도움을 찾고있다.Cocos2D 스프라이트 시트

현재 8 개의 스프라이트 시트 (2048x2048)가 있는데, 각각은 내 재생 가능한 캐릭터의 능력과 움직임 중 하나를 나타냅니다. 현재 사용자가 해당 문자를 선택하면 캐시에 추가합니다. 또한 게임에 아이템을위한 스프라이트 (수류탄/무기/지상 오브젝트와 같은 것들)를 포함하는 스프라이트 시트가 1 개 더 있습니다 (2048x2048).

최대 4 자 + 다른 항목 스프라이트 시트가 언제든지 활성화됩니다. 제 질문은 메모리 관점에서 볼 때 한 번에 너무 많이 사용합니까? I/O 호출을 줄이기 위해 1 개의 대규모 스프라이트 시트를 사용하는 것이 더 적합할까요? 언제 그들을로드해야합니까? 성능을 향상시키기 위해 수동으로 언로드 할 수 있습니까?

감사합니다.

당신적인 Cocos2D와 메모리 최적화에 대한이 매우 흥미로운 기사를 읽어야

답변

0

: 당신이 원하는 (CCTextureCache 및 CCSpriteFrameCache 참조)하지만 내 경험에서이만큼 미리로드하는 것이 더 나은 경우 수동 텍스처를 언로드 할 수 물론 http://www.learn-cocos2d.com/2012/11/optimize-memory-usage-bundle-size-cocos2d-app/

실제로 메모리 문제를 일으키지 않으면 언로드에 대해 걱정할 필요가 없습니다.

그렇다면 스프라이트 시트가 적을수록 좋지만, iPhone 3GS 및 iPhone 4와 같은 일부 장치의 경우 최대 지원 텍스처 크기가 2048 × 2048이라고 가정하면 "거대한"스프라이트를 사용하지 않는 것이 좋습니다. 시트 (이 2048 × 2048 크기 내에서 유지할 수없는 경우)