Featured image of post Redux Test

Redux Test

Allegorithmic 사의 Substnce 라는 제품군에서 나온 Redux 라고 하는 텍스쳐 압축툴을 연구중입니다.
간단하게 설명하자면, 이 프로그램을 이용하면 기존의 텍스쳐 (dds 압축) 보다 더 획기적으로 용량을 줄여준다는 툴이며,
이미 압축되어 있는 dds도 더 압축시킬 수 있다는 장점을 가지고 있습니다.

개요는 다음과 같습니다.

  1. 원본 파일을 준비합니다. dds도 상관없고, 비압축 파일이면 더 좋습니다.
  2. 전용 툴을 이용해서 압축율을 세부조정한 후, Redux의 전용 포맷인 .rdxh 파일로 저장해서 배포합니다.(용량이 작습니다) 
  3. 패치 (혹은 클라이언트) 인스톨 시에 rdxh파일을 다시 dds로 풀어서 저장하거나 SDK를 이용 게임 내에서 직접 rdxh파일을 실시간으로 풀어서 사용하기도 합니다.

여기서 테스트 할 수 있는 부분은 2번까지이며, 3번은 프로그램 파트의 도움으로 진행해야 하는 관계로 테스트하지 못했습니다.

Redux테스트 1

원본 : 768kb TGA

그리드 형태의 TGA로 테스트하였습니다.

테스트 결과


위 표의 내용설명입니다.

세로 항목
일반압축 : 일반 알고리즘을 이용해서 DDS로 세이브 했을 때의 용량을 의미합니다. 단순한 비교자료임
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 좋은 퀄리티입니다.
압축 0.5 : 해당 Redux 압축 알고리즘에서 중간의 퀄리티입니다.
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 나쁜 퀄리티입니다.(0은 없더군요) 

가로 항목
Reduxmode 1 : 손실이 없는 압축방법입니다. 리덕스 알고리즘으로 압축하지만 압축 정도를 조절해도 큰 차이를 느끼지 못합니다. Reduxmode 2 : 약 40% 정도 압축해주는 알고리즘입니다. 속도가 3보다 빠른 편이고 압축율이 적은 편입니다.
Reduxmode 3 : 약 50% 정도 압축해주는 알고리즘입니다. 속도가 4보다 빠른 편이고 압축율이 보통인 편입니다.
Reduxmode 4 : 약 60% 정도 압축해주는 알고리즘입니다. 속도가 가장 느리며, 압축율이 가장 좋습니다.
Image difference : 이미지가 원본 이미지와 비교했을 때 얼마나 깨지는지를 나타내는 % 입니다. 작을수록 좋습니다. 

테스트 결과 

결론

일반 DDS 압축 알고리즘을 사용할 때와 비교하여 , Redux 무손실 압축을 사용하면 (파란선) 
퀄리티 저하 없이 약 40%정도의 용량을 줄일 수 있음을 확인하였습니다. 
또한 기타 Redux 알고리즘을 이용한 손실압축법을 사용하면, 퀄리티를 절반 이상으로 떨어뜨려야 dds 압축 이상의 용량절약 효과를 얻을 수 있었음을 확인하였습니다. 
일반적인 경우라면 무손실 압축을 사용하는 것 만으로 충분한 결과를 얻을 것으로 보입니다. 

* 맵 자체가 패턴식으로 구성되어 있어, jpg 압축 알고리즘을 사용하는 프로그램 특성상 비효율적인 이미지라 판단하여 또 한번의 테스트를 진행하였습니다. 

 

Redux테스트 2 

원본 : 48KB DDS


이미 한 번 압축되어 있는 DDS 파일의 실험 결과입니다.

위 표의 내용설명입니다.

세로 항목
일반압축 : 일반 알고리즘을 이용해서 DDS로 세이브 했을 때의 용량을 의미합니다. 단순한 비교자료임
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 좋은 퀄리티입니다.
압축 0.5 : 해당 Redux 압축 알고리즘에서 중간의 퀄리티입니다.
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 나쁜 퀄리티입니다.(0은 없더군요) 

가로 항목
Reduxmode 1 : 손실이 없는 압축방법입니다. 리덕스 알고리즘으로 압축하지만 압축 정도를 조절해도 큰 차이를 느끼지 못합니다. Reduxmode 2 : 약 40% 정도 압축해주는 알고리즘입니다. 속도가 3보다 빠른 편이고 압축율이 적은 편입니다.
Reduxmode 3 : 약 50% 정도 압축해주는 알고리즘입니다. 속도가 4보다 빠른 편이고 압축율이 보통인 편입니다.
Reduxmode 4 : 약 60% 정도 압축해주는 알고리즘입니다. 속도가 가장 느리며, 압축율이 가장 좋습니다.
Image difference : 이미지가 원본 이미지와 비교했을 때 얼마나 깨지는지를 나타내는 % 입니다. 작을수록 좋습니다. 

테스트 결과 표

결론

일반 DDS 압축 알고리즘을 사용할 때와 비교하여 , Redux 무손실 압축을 사용하면 (파란선) 
퀄리티 저하 없이 약 40%정도의 용량을 줄일 수 있는 것은 1차 테스트와 동일한 결과를 나타내 주었습니다.
그렇지만 1차 테스트와 다른 점은, Redux 알고리즘을 이용한 손실 압축 포맷을 사용했을 때, 복잡한 구조의 이미지일 수록 그 효과가 커진다는 것을 볼 수 있습니다. 0.25 정도를 사용한다면 이미지 형태를 유지하면서 최대의 압축률을 가져갈 수 있을 것으로 보입니다.

Hugo로 만듦
JimmyStack 테마 사용 중