카테고리 : 메모리 Neo Land | 2018. 8. 16. 05:10
NGUI의 아틀라스 png 이미지의 압축값을 오버라이드 안드로이드로 RGBA 8bit로 했다가 낭패를 봤다. 압축되어 있어서 아틀라스 Add나 Update를 하면 이미지가 초기화되는 것이었다! 이것은 반드시 릴리즈 버전에서 해야만 한다.
카테고리 : 메모리 Neo Land | 2018. 8. 16. 04:24
유니티에서 이미지 압축 방식은 대부분 ETC2 4bit와 RGBA ETC2 8bit로 나뉘어진다. 이중 압축 성능이 좋은 것은 ETC2 4bit이다. ETC2 4bit는 ETC2 RGBA 8bit보다 무려 2배나 높은 압축 효율을 보여준다. 따라서 apk 빌드 시 용량 뿐만 아니라 게임 내 메모리 사용량도 적게 만들어 준다. 하지만 ETC2 4bit의 치명적 단점은 Alpha값을 넣으면 이미지가 깨지다는 점이다. 그러므로 알파값이 있는 이미지는 ETC2 RGBA 8bit, 알파값이 없는 이미지는 ETC2 4bit로 압축하는 것이 가장 효율적이다. * 이 두 방식은 반드시 이미지가 4로 나뉘는 픽셀 크기 값이어야 한다!
카테고리 : 메모리 Neo Land | 2018. 8. 16. 04:00
이미지 압축은 APK의 빌드 용량을 줄여줄 뿐만 아니라게임 내 메모리 사용량에서도 큰 이점이 됩니다. 아래의 맵의 경우 그냥 넣었는데RGBA ETC2 8bit로 체크해도 되지 않았습니다. 자세히 보니 가로 세로의 픽셀이 4로 나눠 떨어지는 이미지만 ETC2로 압축된다고 합니다.아틀라스로 묶어서 쓰는 경우에는 상관없지만 이미지를 바로 쓰는 경우에는 미리 이미지를 반드시 체크해줘야 합니다! 가로 세로를 4의 배수로 맞추자 자동으로 ETC2 방식으로 압축되서 용량이 축소된 모습니다.이는 실제로 인 게임에서도 메모리를 13.5MB 차지하다가5MB만 차지하는 놀라운 효율을 보여주었습니다.
카테고리 : 메모리 Neo Land | 2018. 8. 15. 03:55
유니티 에셋중의 하나인 투디툴킷을 사용하다보면 놓칠 수 있는게 메모리 사용량 관리이다. 스프라이트 콜렉션의 Settings에서 Texture Settings의 Compression이 기본적으로 uncompression으로 되어있는데 이렇게 해서 게임을 실행하면 게임 내에서 먹는 메모리가 상당하게 된다. 다행히 투디툴킷에서 옵션을 제공하고 있어서 Texture Settings의 옵션을 Compression으로 바꿔주면 게임 내 용량이 확연하게 줄어드는 것을 볼 수 있다.