[ 이 게시물에서 사용된 모든 이미지의 저작권은 (주)아이언트리 에게 있습니다. ]
이전 포스트에서 올렸던 Bin Packing 을 이용해서
여러개의 Texture를 하나의 RenderTexture로 만들어서 사용하는 모듈을 만들었습니다.
(소스 공개는 나중에 게임 오픈하고 나면 그때 풀께요 ㅋㅋㅋ)
TextureAtlas 예제는
a.png/a.xml, b.png/b.xml, c.png/c.xml 이 세개의 atlas texture를 가지고 각각 하나씩 오브젝트를 가져와서 배치한 예제입니다.
오른쪽에 Stat 에서 볼 수 있듯이 draw call 이 3으로 표시됩니다.
각각 텍스쳐가 따로 gpu에 올라가있으니까 당연한거죠.
오늘 만든 TexturePacker를 이용해서 사용할 경우
각 텍스쳐에서 필요한 텍스쳐만 모아다가 하나의 RenderTexture에 뿌려놓고 사용하는 로직을 타게 됩니다.
오른쪽에 보다시피 draw call 이 1로 되어 있습니다.
만약 이렇게 모은 RenderTexture가 2048x2048을 넘을 경우 여러장의 RenderTexture를 핸들링하게 되어 있습니다.
아무튼 훌륭하게 동작하네요 ㅋ
Draw call 줄이는게 능사는 아니지만
메모리도 줄어드는거보니 뿌듯하네요 ㅎㅎ
초기화 퍼포먼스가 얼마나 느려지는지 궁금하긴 하지만 일단 여기서 만족 :D
For the better.
'Flash Game > Starling' 카테고리의 다른 글
AngryBirds의 재밌는 시도 (0) | 2012.10.24 |
---|---|
ATF 와 PNG 파일의 벤치마킹 결과 (21) | 2012.10.22 |
PNG vs ATF 테스트 결과 - Android (1) | 2012.10.21 |
PNG vs ATF 테스트 결과 (0) | 2012.10.21 |
Starling 영역과 Stage영역의 터치 중복 문제 해결 방법 (3) | 2012.10.10 |