실버라이트 애플리케이션을 배포하는 것에서 가장 중요한 원칙은 뭘까요? 밑줄 긋고 외웁시다.
배포 사이즈를 작게 더 작게!
우리는 XAP 파일이 표준 ZIP 압축 알고리즘을 쓰고 있다는 점을 알고 있죠. 그런데 Delay’s Blog의 포스팅에 의하면 실버라이트 2의 XAP 파일은 압축률이 일반적으로 사용되는 것보다 낮다고 해요. 7-Zip의 압축률을 기준으로 1~3 단계 정도면 용량도 더 줄어들면서 압축 시간은 거의 차이가 없는데 여튼 여기에 착안해서 XAP의 압축률을 변경하여 압축하는 것만으로도 약 20~22% 정도의 용량이 줄어드는 마법(!)같은 효과를 얻을 수 있다는 군요.
저도 예전에 실버라이트 1때에는 7-zip command line 툴을 이용해서 비스무레한 일을 했던 적이 있는데 아무래도 2에서는 XAP을 자동으로 만들어줘서 그러려니 했었죠.
여튼 WEB-SNIPPETS 블로그에서는 이 작업을 좀 더 쉽게 해주는 유틸리티를 공개했는데요, 간단하게 옮겨 보죠.
- ReXapper를 다운로드
- 받은 파일의 압축을 풀어 임의의 장소에 복사(예 : D:\Utils\ReXapper\ReXapper.exe)
- 실버라이트 프로젝트의 Properties(속성)을 열어 Build Event탭의 Post-build event command line 박스를 찾아가서
- 다음의 코드를 붙여 넣기
D:\Utils\ReXapper\ReXapper.exe –xap "$(TargetDir)$(TargetName).xap"
일단 저도 하나만 테스트를 해 봤지만, 348,854 bytes가 268,154 bytes로 약 20% 줄어드는 효과를 봤어요!
그러니…
'Programming > Silverlight' 카테고리의 다른 글
| 컨텍스트 메뉴에 Rexap 등록하기 (1) | 2008/11/18 |
|---|---|
| 실버라이트 3 떡밥 (5) | 2008/11/17 |
| XAP사이즈, 압축하지 않겠는가? (5) | 2008/11/06 |
| Sandcastle을 사용한 간단 문서화 (8) | 2008/11/05 |
| IsolatedStorage를 사용하면 Blend에서 디자인이 안보인다? (1) | 2008/11/04 |
| Blend에서 열었는지 여부를 코드로 식별하기 (0) | 2008/11/03 |

Submit comment.
하겠습니다!
하겠습니다!
^^
이렇게 따로 안해도 최대한 압축되는 날이 왔으면 좋겠어요 ㅎ 그날이 오기 전까지 정말 요긴한 정보! 감사~
좋은정보 감사합니다.~ ^^
하겠습니다!
그런데요... 어플 실행 단계에서 압축을 해제 하는것 때문에 느려지지 않을까?
음... 압축에 걸리는 시간이 거의 동일하다면 해제도 크게 차이 없지 않을까요?
압축에 걸리는 시간은 압축 레벨이 1~3까지는 모두 Very Fast이고 rexapper는 레벨 3을 쓰는걸로 알고 있어요. 아무리 레벨1과 3이 시간 차이가 난다고 해도 20% 보다는 적게 걸릴 거라고 추측하고요. 사이즈가 20% 정도 적어지니 이득을 얻을 수 있겠죠.