Silverlight
5에는 동영상을 재생할 때 하드웨어(GPU; 그래픽카드 등)를 이용해 CPU의 부하를 줄이는 기술이 추가되었습니다.
하드웨어 가속을 사용하는 법은 간단합니다.
실버라이트 파일(.xap) 파일을 명시한 <object> 태그 안에 <param>으로 enableGPUAcceleration 속성을 주면 됩니다.
enableGPUAcceleration 자체는 Silverlight 5 이전에도 원래 있었던 속성이고, 바뀐 점은 이 속성을 켰을 때 동영상 재생 시 GPU 가속을 사용하게 되었다는 점입니다.
Silverlight 5 Beta로 이뤄진 간단한 성능 테스트입니다.
첫 번째 사진은 Silverlight 없이 미디어 플레이어로 동영상을 재생했을 때,
두 번째 사진은 GPU 가속 없이 Silverlight로 동영상을 재생했을 때,
세 번째 사진은 GPU 가속을 켜고 Silverlight로 동영상을 재생했을 때,
네 번째 사진은 GPU 가속과 함께 BitmapCache를 사용했을 때의 CPU 사용도입니다.
(높이가 낮을 수록 좋고, 좌우 길이는 성능과 관계 없습니다)
첫 번째 사진과 비교했을 때, GPU 가속을 켠 것과 켜지 않은 것의 차이가 생각보다 크지 않은 것을 알 수 있습니다. 하지만, BitmapCache를 사용했을 때는 CPU 사용도가 크게 낮아진 것을 확인할 수 있습니다.
BitmapCache 는 동영상 디코딩 자체에 영향을 주지는 않습니다만 GPU 가속을 사용할 때 함께 사용하면 이점이 있다고 합니다. (자세한 것은 아래의 원문을 참고하세요)
출처: http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/05/03/silverlight-5-beta-rough-notes-hardware-decoded-h-264.aspx하드웨어 가속 디코딩에 대해서는 정식 릴리즈가 나올 때까지 많은 개선이 이루어질 거라고 생각하기 때문에, 이후 정식 버전을 기대해 봐야겠습니다.
※ MediaElement에 BitmapCache를 적용하는 방법은 다음과 같습니다.
※ 캐시에 대한 다른 의견도 있습니다. 저사양 컴퓨터에서 MediaElement 에 캐시를 사용하면 성능이 하락한다는 의견인데 확인해 볼 필요가 있을 거 같습니다.
출처: http://msdn.microsoft.com/en-us/library/ee309563(v=VS.96).aspx#1
'Tech > Silverlight' 카테고리의 다른 글
[Silverlight 5] 3D 그래픽 (1) | 2011.06.22 |
---|---|
Silverlight 5 에 추가된 동영상 속도 조절 기능 (1) | 2011.06.21 |
[Silverlight MEF - Export UserControl] (2) | 2010.06.02 |
[Silverlight MEF - Dynamic XAP Loading] (1) | 2010.05.12 |