2011-04-01 5 views
0

cocos2d를 사용하여 10 개의 이미지를 만들고 표시해야합니다. 각 요소는 이전 요소 위에 배치되며 모든 요소는 동시에 표시됩니다 (모두 투명한 영역이 있음). 각 이미지의 해상도는 2048x1536입니다.CCSprite 메모리 오버플로

5 개 이하의 CCSprites를 만들면 응용 프로그램이 잘 실행되지만 6 CCSprite를 만들면 "Data Formtersters unavailable"오류로 인해 장치 (iPad)에서 충돌합니다.

나는이 메모리 부족의 가정,하지만 어쩌면 누군가가이 상황에 대한

감사에 대한 접근 방법을 알고있다!

답변

1

이 크기의 투명한 이미지는 약 12MB RAM (2048 * 1536 * 4 바이트)을 사용합니다.

귀하의 응용 프로그램이 충돌하기 전에 표시되는이 크기의 이미지 5 개를 얻으실 수있어서 대단히 감사합니다. 일반적으로 약 50MB RAM 사용시 발생합니다.

당신이하고 싶거나 보여줄 필요가있는 것에 대한 지식이 없으면 어떤 조언을 해줄 수는 없지만이 크기의 10 개의 이미지를 보여줄 수는 없습니다.

편집 : cocos/opengl을 사용하고 있으므로 이미지 형식을 rgb4444로 변경하여 더 많은 이미지를 표시 할 수 있습니다. 이렇게하면 메모리 사용량이 절반으로 줄어들지 만 이미지 품질이 떨어지게됩니다.

+0

감사합니다. 이미지 품질을 낮추려고합니다. – Dmitry