Silverlight渲染速度提高方法介紹
Silverlight開發工具的推出對開發者來說是一個比較有用的工具。在使用的過程中我們就可以感受到其中強大的功能。如果你的silverlight 需要渲染大量的UI對象,你或許得為Silverlight渲染速度而憂慮。#t#
如果你的UI對象還綁定一個復雜的數據實體,那么你會為silverlight的渲染速度而抓狂。這究竟這是silverlight 這個東東本身的缺陷還是我們無意觸碰了潘多拉的魔盒?
我曾經用微軟官方提供的一個silverlight樹控件來繪制一個六百多個節點的指標樹,為了讓代碼看上去很美,大量利用了silverlight 的一些特性,例如數據綁定,視覺狀態,在xaml中進行數據轉換,等等,但是很不幸,結果是樹要同時展開一級節點的時候,需要停頓(UI失去響應)估計1s.由于客戶需要一個全部展開的功能以方便他更好的瀏覽這些指標就像他觀察股市波動一樣去了解他的公司運營情況,結果等待的時間估計得讓人抓狂。
為了提高Silverlight渲染速度,以下是微軟官方給的一些建議:
謹慎對 Silverlight 插件使用透明背景
對 UIElement 的不透明度或轉換進行動畫處理時設置其 CacheMode
對文本進行動畫處理時將 TextRenderingMode 設置為 RenderForAnimation
將使用不透明度對象和旋轉或拉伸對象的層混合時緩存可視元素
避免使用無窗口模式
盡可能使用 Visibility 而不是 Opacity
在全屏模式下隱藏未使用的對象
不要將 Width 和 Height 與 MediaElement 對象一起使用
不要將 Width 和 Height 與 Path 對象一起使用
將占用 CPU 資源較多的任務分解為較小的任務
分解非常大的應用程序包
使用 Double.ToString(CultureInfo.InvariantCulture) 而不是 Double.ToString()
呈現大量圖像時使用 Stretch="Fill"。
以上就是Silverlight渲染速度的提升方法介紹。