실버라이트 애플리케이션을 배포하는 것에서 가장 중요한 원칙은 뭘까요? 밑줄 긋고 외웁시다.

배포 사이즈를 작게 더 작게!

우리는 XAP 파일이 표준 ZIP 압축 알고리즘을 쓰고 있다는 점을 알고 있죠. 그런데 Delay’s Blog의 포스팅에 의하면 실버라이트 2의 XAP 파일은 압축률이 일반적으로 사용되는 것보다 낮다고 해요. 7-Zip의 압축률을 기준으로 1~3 단계 정도면 용량도 더 줄어들면서 압축 시간은 거의 차이가 없는데 여튼 여기에 착안해서 XAP의 압축률을 변경하여 압축하는 것만으로도 약 20~22% 정도의 용량이 줄어드는 마법(!)같은 효과를 얻을 수 있다는 군요.

저도 예전에 실버라이트 1때에는 7-zip command line 툴을 이용해서 비스무레한 일을 했던 적이 있는데 아무래도 2에서는 XAP을 자동으로 만들어줘서 그러려니 했었죠.

여튼 WEB-SNIPPETS 블로그에서는 이 작업을 좀 더 쉽게 해주는 유틸리티를 공개했는데요, 간단하게 옮겨 보죠.

  1. ReXapper를 다운로드
  2. 받은 파일의 압축을 풀어 임의의 장소에 복사(예 : D:\Utils\ReXapper\ReXapper.exe)
  3. 실버라이트 프로젝트의 Properties(속성)을 열어 Build Event탭의 Post-build event command line 박스를 찾아가서
  4. 다음의 코드를 붙여 넣기
    D:\Utils\ReXapper\ReXapper.exe –xap "$(TargetDir)$(TargetName).xap"

일단 저도 하나만 테스트를 해 봤지만, 348,854 bytes가 268,154 bytes로 약 20% 줄어드는 효과를 봤어요!

그러니…

Posted by gongdo

Submit comment.

  1. Favicon of http://gilverlight.net BlogIcon 길버트 2008.11.06 20:12  comment URL  Edit/Remove  Submit comment.

    하겠습니다!
    하겠습니다!
    ^^

  2. Favicon of http://joongs.net BlogIcon joongs 2008.11.06 21:22  comment URL  Edit/Remove  Submit comment.

    이렇게 따로 안해도 최대한 압축되는 날이 왔으면 좋겠어요 ㅎ 그날이 오기 전까지 정말 요긴한 정보! 감사~

  3. Favicon of http://loworldsoft.com BlogIcon 안상현 2008.11.07 10:48  comment URL  Edit/Remove  Submit comment.

    좋은정보 감사합니다.~ ^^

  4. Favicon of http://www.uxkorea.net BlogIcon 준서아빠 2009.02.02 09:43  comment URL  Edit/Remove  Submit comment.

    하겠습니다!
    그런데요... 어플 실행 단계에서 압축을 해제 하는것 때문에 느려지지 않을까?

    • Favicon of http://gongdosoft.com BlogIcon gongdo 2009.02.02 11:26  comment URL  Modify/Remove

      음... 압축에 걸리는 시간이 거의 동일하다면 해제도 크게 차이 없지 않을까요?

      압축에 걸리는 시간은 압축 레벨이 1~3까지는 모두 Very Fast이고 rexapper는 레벨 3을 쓰는걸로 알고 있어요. 아무리 레벨1과 3이 시간 차이가 난다고 해도 20% 보다는 적게 걸릴 거라고 추측하고요. 사이즈가 20% 정도 적어지니 이득을 얻을 수 있겠죠.

  5. 꼬기얌얌얌 2009.12.16 10:22  comment URL  Edit/Remove  Submit comment.

    안녕하세요^^ 공도님
    그런데 실버라이트3에서는 지원하지 않는 건가요?ㅠㅠ

    ReXapper가 오류가 나네용..ㅠㅠ

    디버깅하면 오류가 나면서 프로그램을 닫는다구 떠용....

    방법이 없을까용?

    • Favicon of https://gongdosoft.com BlogIcon gongdo 2010.01.11 16:52 신고  comment URL  Modify/Remove

      헐... 이게 몇 백년만의 접속인지 모르겠네요.
      블로그를 거의 버려두다시피해서;;

      음음; 암튼, SL3부터는 압축율이 충분히 높아져서 더 이상 ReXapper를 사용하지 않아도 돼요.
      물론 SL3의 압축률이 마음에 들지 않는 분도 있겠지만... 용량대 압축처리 속도비가 이 정도면 괜찮다고 봐요.