다운로드 크기와 설치 크기
다운로드하는 데이터의 크기와 설치 후 디스크에서 차지하는 크기는 같은 기준이 아니다. 예를 들어 SteamPipe는 파일을 작은 조각으로 나누어 압축해 배포하고, 클라이언트가 이를 받아 풀어 필요한 위치에 놓는다. 따라서 설치 용량이 크다는 사실만으로 배포할 때 압축을 하지 않았다고 판단할 수 없다.
이미 압축된 데이터의 한계
추가 압축으로 줄어드는 양은 데이터에 따라 다르다. Microsoft는 JPEG처럼 이미 높은 수준으로 압축된 파일들을 ZIP으로 묶으면 전체 크기가 원래와 거의 같을 수 있다고 설명한다. zlib도 압축으로 이득을 얻기 어려운 입력에서는 원본 데이터에 형식 정보가 더해져 조금 커질 수 있다. 게임 전체가 어떤 상태인지는 실제 파일 구성을 확인해야 한다.
묶음 파일과 업데이트의 절충
게임 엔진은 여러 자산을 묶음 파일에 모아 디스크 접근과 로딩을 효율화하기도 한다. Valve는 설치 공간을 줄이기 위해 묶음 파일 자체를 압축할 수도 있지만, 압축 범위와 파일 배치가 업데이트 다운로드량에 영향을 줄 수 있다고 안내한다. 설치 공간, 배포 크기, 업데이트 효율은 각각 구분해서 볼 필요가 있다.
100GB라면 절반으로 줄어드나
설치 용량이 100GB라는 정보만으로는 압축 결과를 계산할 수 없다. 이미 압축된 자료의 비중, 반복 구조, 사용하는 형식과 설정에 따라 결과가 달라진다. 파일을 그대로 복원하는 압축과 불필요한 자산 제거, 미디어 품질 변경도 같은 작업이 아니다. 특정 게임을 실제로 분석하지 않고 절반 이하로 줄어든다거나 줄일 수 없다고 단정할 수 없다.
기본 원리는 비손실 압축 문서를 참고한다.
관련 공식 자료: Valve SteamPipe 배포와 압축 / Microsoft ZIP 압축 설명 / zlib 기술 설명