Game Programming/Game Engine

Unity3D :: Live2D 성능 이슈

VallistA2015. 5. 28. 15:27

Live2D가 Vertex Animation을 하는만큼 굉장히 성능상 이슈가 존재하는데. 각각의 폰에서 한번 테스트를 해보았다.

Unity의 경우에는 모바일 관련해서 작업이 많이 있고 안드로이드 폰에서 많이 빌드되기 때문에 테스트 폰을 각각 지정해서 보여주도록 하겠다.

 

0. 공통된 환경

 

 - Sample에 있는 캐릭터를 대상으로 여러개를 생성하여 테스트

 - 생성한 캐릭터는 애니메이션을 무한 반복

 

1. 갤럭시 S

 

 

 

 

 - 1명 : 30 ~ 55 프레임

    어떤 특정한 애니메이션이 재생될 때 프레임이 매우 드롭된다.

 - 10명 : 3 ~ 5 프레임

 - 30명 : 실행과 동시에 어플리케이션 다운

 

2. 갤럭시 S2

 

 

 - 1명 : 60 프레임

 - 10명 : 16~17 프레임

 - 30명 : 6 프레임

 

3. 갤럭시 S3

 

 - 1명 : 60 프레임

 - 10명 : 20~30 프레임

 - 30명 : 10 ~ 12 프레임

 

결과

 

안드로이드 계에 가장 유명한 핸드폰 3개를 대상으로 테스트 한 결과, 한 화면에 Live2D

캐릭터를 5개 이상 띄우면 프레임 드랍이 엄청 심해지므로 왠만하면 캐릭터는 화면에 1개 혹은 2~3개가 가장 적당하다고 본다.

더군다나 해외쪽 진출에 앞서 핸드폰 사양이 안 좋은경우 1명만 해도 프레임이 매우 드랍되는데 여기에 백그라운드 등 부가적인 메모리를 가져가게 될 경우 엄청난 최적화 또는 못 쓸것으로 생각된다.

 

최적화 방법

 - 텍스쳐를 줄이기

 - Fixed 빈도 하락 등이 있겟다.

 - Live 2D의 경우 Batch Rendering을 지원하지 않기 때문에 만들어서 적용하면 될 듯 싶다.

 

 

결론

 

 1. 최적화가 별로 잘 되어있지 않아서 Batch Rendering 등을 구현을 직접 해줘서 최적화 관련해서 해주어야 한다.

  - vertax의 경우 gpu를 사용하지 않음

 2. 단순한 애니메이션에 사용 적합

 3. 본 애니메이션만 쓸 경우 안쓰는 것을 추천. (Spine 쓰는게 남)

 4. 애니메이션의 퀄리티를 높일 경우 상당한 노가다가 필요함.

 5. 손쉽게 다루려면 약간의 삽질이 필요할 듯 싶다.

 6. 도트에는 절대 사용해선 안됨

 7. 액션게임같은 장르에 추천 안함

 

댓글

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.
현재는 이 블로그를 운영하지 않습니다.
vallista.kr 로 와주시면 감사하겠습니다!

자고 싶습니다. ㅠㅠ

Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today :

Total :

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘

Lately Post

Lately Comment