CCSpriteBatchNode를 사용하면 이미지의 각 이미지가 OpenGL에 의해 별도로 그려지지 않으므로 화면에서 동일한 이미지가 많은 경우 배치 노드를 사용하기 위해 성능이 향상됩니다.CCSpriteBatchNode : 단일 프레임 또는 전체 텍스처 맵을 사용 하시겠습니까?
그러나 CCSpriteBatchNode에 전체 텍스처 맵을로드하면 어떻게되는지 궁금합니다. 이 말은 텍스처 아트 리에서 단일 스프라이트 프레임을 사용하면 텍스처 안의 모든 스프라이트 프레임을 (배경 뒤에서) 그립니다.
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"texture.plist"];
CCSpriteFrame *starFrame=[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"throwstar.png"];
stars=[CCSpriteBatchNode batchNodeWithTexture:starFrame.texture];
[self addChild:stars];
또는 대신 전체 텍스처 아틀라스보다는 배치 노드 starFrame.texture
를 사용하여 : 즉
,이 일 사이의 성능 차이가 있습니까?
batchnode가 그 아이들을 그렸을 때, 그것들은 단지 한 번에 모두 정확하게 그려진다 (일괄 적으로 GL 호출 하나에서)? 그러나 여러분은 또한 각 어린이가 그 부분 만 렌더링한다고 언급합니다. 따라서 여러 자식이 동일한 배치 노드 텍스처와 다른 프레임을 갖는 경우 텍스처의 다른 부분이기 때문에 각각의 자체 렌더링 호출을 얻고 있습니까? – johnbakers