그냥 머리 복잡해서 정리할겸 쓰는글...


우선 tk2d를 커스터마이징 해서...(tk2d에 static BatchedSprite인가...원하는기능이랑 비슷한게 있어서 수정함.)

애니메이션되고, 위치, 크기, 색상등을 변경할수있는 animatedBatchedSpite란걸 만들어 쓰고 있었음..

기존 unity 에서 GameObject들이 많아지면 많아질수록 초기화 시간이 너무 오래걸림..(특히 아이폰4에서....)


BatchedSprite 의 기능은 GameObject 하나에 스프라이트 정보들을 가지고 버택스,UV좌표들을 때려박아서 한방에 그림..

(GameObject가 한개뿐이니 초기화시간이 빠름..)

근데...스프라이트 애니메이션들이 들어가야해서...

매프레임마다 화면을 다시그림...


별문제 없겠지 싶었는데 이게 부하가 많이 걸리는듯하다..


똑같은 이미지를 다시 그릴려니...한번이라도 더 계산하게 되겠지....

반면 GameObject로 만들어버린건...초기화 시간은 오래걸리지만...sprite가 에니메이션 되지 않았다면 객체를 다시 그리진 않을꺼임...


탄막게임을 만든다고치면...3~4000개정도는 60프레임은 못하더라도 55프레임까진 버텨줘야하는데...

500개만 넘어가도 프레임이 반으로 뚝뚝......


BatchedSprite를 변경해보려고함..


mesh와 submesh를 이용해서..애니메이션 되거나 새로생성된 sprite들이 있는 mesh 와, 이전화면과 동일하지만, 위치만변경된 sprite들만 모아둔 mesh를 만들어 합치려고함.


근데 두번째 mesh 애들은...zOrder가 변경되거나, 여기있던애들이 애니메이션되거나, 사라지게되면...다시그려야함...(이거때문에 그닥 안빨라질꺼같은데..)

spritedata들에 updated라는 변수를 만들고, false인 애들만 모아서 배열에 넣고, 이전배열과 비교해서 배열이 같다면 이전꺼 쓰고 아니면 업데이트...


아~~복잡해...ㅠ.-;

Posted by andwhy

블로그 이미지
andwhy 개인 블로그.
andwhy

공지사항

Yesterday43
Today0
Total117,320

달력

 « |  » 2018.10
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

글 보관함