Tech/Silverlight2011.06.22 15:58

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

Posted by cancho

댓글을 달아 주세요