Silverlight 3引入了GPU加速的特性

來源:互聯網
上載者:User

Silverlight 3引入了GPU加速的特性,該功能預設為禁用。啟用該功能需要:

1. 在Silverlight plug-in上設定 <param name="enableGPUAcceleration" value="true" /> 或使用代碼 Application.Current.Host.Settings. EnableGPUAcceleration= True;

2.在類型為UIElement的控制項上設定 CacheMode = "BitmapCache" - 所謂GPU加速是基於GPU緩衝了一些UI元素,節省了CPU的耗用

如何知道哪些控制項被緩衝?在Silverlight plug-in上設定 < param name = "enableCacheVisualization" value = "true" /> 後程式介面中會有顏色變化:

1. 紅色表示沒有被緩衝

2. 正常顏色表示被緩衝

3. 綠色表示沒有設定 CacheMode = "BitmapCache",但被自動緩衝

由於GPU加速的原理是緩衝,那麼頻繁變動的UIElement就不適宜使用,因為緩衝的頻繁更新反而會帶 來效能損耗。但是MideaElement例如視 頻使用GPU加速可以實現效能提高 :

圖:啟用緩衝的視頻

但是perspetive 3d效果的視頻 則不可以:

 圖:右側視頻使用了Pespective 3d效果,顯示為紅色,沒有緩衝


GPU加速的限制:

1. GPU 加速僅支援如下動畫: Scale, Rotate, Changing Opacity, Clipping (only if clip is rectangular),其他則不支援,例如 Perspective 3d效果的動畫。

2. GPU顯存不足,Silverlight會預設使用CPU來實現緩衝,這反而會增加CPU的負擔 - 目前Silverlight還不支援查詢GPU緩衝大小的方法,僅提供了Analytics.GpuCollection 屬性。


3. 需要支援DirectX(Windows) 或OpenGL(Mac)的顯卡,且Mac上僅支援全螢幕模式

參考:

1. https://blogs.msdn.com/b/rahul/archive/2010/06/09/silverlight-graphics-and-hardware-acceleration.aspx

2. http://dotnetslackers.com/articles/silverlight/discovering-silverlight3-deep-dive-into-gpu-acceleration.aspx

3. http://arthraim.cn/silverlight-3-and-gpu-acceleration/

裝扮小遊戲
換裝小遊戲
化妝小遊戲
美女小遊戲

 

 原文:http://blog.csdn.net/jameszhou/archive/2010/06/14/5670852.aspx

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.