아까 올린 조사글에 대한 분석입니다.
조사는 던전 / 마을맵9종으로 이루어졌으며, 이 메모리 테스트로 캐릭터의 출몰한계 및 제작방식 확립을 할 수 있을것으로 예상됩니다. 기계식 키보드로 치니까 글이 막 잘써지고 막 이래
우선 기본 얘기를 살짝 다시 하면, 모바일에서 현재 '예상' 되는 할당 가용 메모리는 그래픽에 40메가입니다.
그렇지만 지금 상황으로 봤을때 정말로 40메가를 쓸 수 는 없을지도 모른다... 라는 불길한 징후가 보이고 있어서, 안심하고 40메가를 쓸 수는 없는 상황이 현재까지의 상황입니다.
그렇게 해서 예전에 나눠놨던 데이터의 할당은
대충 이 정도.. 였었습니다.
인터페이스는 데이터가 고정되어 있어서 줄일 수 있는데 한계가 있을 수 밖에 없고,
이펙트는 예측하기가 거의 불가능할정도로 불규칙하며,
캐릭터는 많이 나오면 무거워지고 적게 나오면 가벼워지는 시스템이라
사실상 데이터를 '고정적으로' 줄일 수 있는 것은 배경밖에 없다는 결론이 나오는데요.
때문에 배경팀에서 매우 열심히 데이터를 줄여 주시고 계십니다.
어려운 상황에서도 많은 연구를 통해 데이터를 줄여주시고 계시는 배경팀에 다시한번 감사를 드립니다.
결과보고
분석된 결과는 다음과 같습니다.
- ADB shell 을 통해 나온 메모리 결과값에서, 아무것도 없었을때 나온 메모리 값인 24메가를 제하였을때 나온 값이 순수한 점유 메모리일 것입니다. 그게 Net Size.
- 그리고 테스트를 통해 보았을때, 시간이 지나면 점유 메모리가 최고 1메가까지 늘어나는 것을 본 관계로 오차범위를 1메가로 잡았습니다.
- 사실 캐릭터가 한 마리 돌아다니고 있습니다만, 이것은 메모리에서 체크하였습니다. 원래 이것도 1메가 정도 삭제하여야 더 정확합니다만... 일부러 여유를 두기 위해 남겨 놓았습니다.
결과분석.
결과적으로, 배경에서 쓸 수 있는 메모리의 최대 한계는 15메가이지만, 사실 10메가를 넘어가면 곤란하다고 할 수 있습니다. (현재까지는 말이죠) 쓸 수 있는 메모리의 제한이 아직도 확실치 않은 상태에서 가정으로 진행하려면 어쩔 수 없는 상태이긴 합니다...
그런 의미에서 현재까지 작업된 데이터는 매우 안정적이라고 말할 수 있겠습니다.
Dungeon_Fortressfront_001 같은 경우가 약 7메가에 달하는 메모리 점유로 위험해 보입니다만, 사실 그렇게 위험한 상태는 아닙니다. 솔직히 말씀드리면 저 정도는 오차범위입니다!!!! 그냥 두어도 괜찮은.. 대신 '대충 이 근방이군' 라는 느낌의 기준이 되면 좋을 것 같습니다.
현재 데이터들은 대부분 웹에서 검증된 구조의 데이터를 가져다가 최대한 절약해서 제작한 맵들인 관계로, 데이터가 무척 안정스러운 편이라고 할 수 있습니다. 이 퀄리티를 내면서 이 용량 이하로 줄일 방법은 더이상 없을 것으로 보입니다.
그러므로 이 방식으로 계속 진행해도, 배경 쪽의 메모리는 별 문제 없을 것으로 보입니다.
결론
배경 데이터는 현재 2~7메가의 순수 데이터를 메모리에서 사용하고 있으며, 이것은 예상 범위 내로 충분히 들어가는 만족스러운 크기라고 할 수 있습니다. 만약 추후 메모리에 대한 점유율이나 안정성이 증가되어서 배경 리소스를 더 넣을 수 있게 되기 전까지는 이대로 작업하면 무리없을듯 합니다.
이후에 예상할 수 있는 스탠스는 다음과 같습니다.
- 이대로 제작한다 :
문제 없습니다. 이정도 퀄리티로도 스마트폰 MMO 중에서는 최상위급이라고 말할 수 있습니다.
- 현재 프레임이 거의 60 프레임이 나온다 :
겔럭시 s 에서 이 데이터로 거의 모두 55프레임 이상의 높은 프레임이 나왔습니다. 테스트에 따르면 40마리 캐릭터를 데리고 다녔을 때에도 30프레임이 충분히 나왔으며, 이는 메모리에 비해 CPU의 성능은 여유가 있다는 것을 의미합니다.
물론 스마트폰은 소수 특이 기기를 제외하고는 GPU가 따로 없어서 나중에 로직이나 기타 게임의 모든 처리를 CPU가 담당해야 한다는 것을 봤을 때, 그래픽에서 CPU자원을 가져갈 여유는 없습니다만, 만약에 나중에 자원이 생긴다면 그래픽 퀄리티 업을 할 수도 있을 것 같습니다.
그 때에는 (메모리는 빡빡하고 CPU는 남아서 여유가 있을 때 ) 그래픽적 효과 업으로 후처리 효과나 파티클을 집중하면 될 것 같습니다. 또는 배경의 바닥 텍스쳐의 사이즈를 올리는 방법도 있구요. - 안되면 물론 말구요-
- 그럼에도 불구하고 그래픽팀에서 볼 만한 퍼포먼스 툴이 없다.
현재 메모리가 얼마가 될지 예상하는 것은 보통 힘든 일이 아닙니다.
그러므로 그래픽팀에서는, 여태까지처럼 DPcall과 Polygon 을 기준으로 해서 작업해 주시면 되겠습니다.
이 다음 테스트는 기준이 되는 맵- 스몰시티 정도가 적합합니다 - 캐릭터를 얹어서 캐릭터 부하 테스트를 하겠습니다. 인스턴팅 없는 상태에서 몇 마리나 가능할지...
그리고 인터페이스 데이터까지 합해서 예상되는 그래픽 메모리 점유는 어느 정도인지 말입니다.
이상입니다.
댓글