사실 여태까지 png를 어따가 쓰는건지 몰랐다-_-;
그냥 파일포맷중 하나이겠거니... 했었는데..
알고보니 무손실압축에 알파채널을 지원하는 포맷이었다.
여태까지는 dxt포맷은 손실압축이라 퀄리티 저하가 되서 UI에 사용하지 못하고 tga파일을 사용하고 있었는데
tga의 경우는 이미지 자체의 투명도(transperent background - 투명 배경, 일명 격자 배경-_-)을 사용하는게 아니라 alpha채널을 뽑아내는 방식이라
디자이너가 마스크를 씌워서 투명도를 구워?내서 알파채널에 넣고 tga를 뽑는 번거로운 방식을 사용해야 했었는데
png는 투명도를 그대로 뽑아낼 수 있어서 디자이너의 편의성이 상당히 올라간다.
게다가, 512*512이미지가 tga는 1,025KB였는데 동일한 png이미지는(물론 tga의 알파채널을 다시 투명도로 바꾸는 법을 몰라서 대충-_- 투명도를 칠하고 테스트 했다.) 38KB밖에 안한다.
오오오! 무려 1/27의 사이즈!!!
투명도를 제대로 사용한다고 해도 1/10은 건질 수 있다는 얘기다 오호호
물론 UI가 심플한 디자인이라 압축률이 높은 거 같기는 하지만.
정확한 파일포맷스펙을 보지 않아서 어떨지는 모르겠는데
로딩할때 압축푸느라 시간이 꽤 걸린다는 풍문-_-이 있다.
복잡한 1024*1024짜리 이미지-_-a로 체감테스트-_-를 해봤는데 실제로 꽤 걸리는거 같다.
현재의 심플한 디자인의 이미지로 테스트 해보니 별 차이가 느껴지지 않았다~ 잇힝~
UI디자인은 보통 심플한 형태고, 실제 UI창이 뜨거나 할 때 좀 느리게 떠도 큰 상관없으므로
png로 가는게 좋을 것 같다.
속도상의 손해보다는 용량의 이득이 너무 크다-.ㅜ
용량이 줄면 풀버전의 용량도 적어지고 패치파일의 용량도 적어지고 설치시간과 패치시간도 적어진다.
풀버전과 패치파일의 용량이 적어지면 유저가 다운로드 받는 양이 적어진다는거고 CDN의 트래픽이 줄어들어 결국은 돈을 번다는 얘기다-_-;
물론 dxt를 쓸 수 있는곳은 dxt를 써야 겠지만 dds를 사용하지 못하고 이미지가 복잡하지 않은 UI의 경우는 딱 제격이다.
일찍 알았으면 좋았을걸 이라는 생각도 들지만 이제라도 알아서 다행이다. 아직 배포는 안됐으니까-_-;
낼 디자이너분한테 얘기해서 이번버전부턴 png로 가야겠다~ 잇힝~
PS1. 역시 클라이언트 프로그래머는 잡다한걸 많이 배워둬야 한다.
PS2. 클라이언트 프로그래머는 디자이너와 친해두는게 좋다.