天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Silverlight性能優(yōu)化紀(jì)要

  Silverlight作為微軟為富網(wǎng)絡(luò)應(yīng)用所做的一個(gè)全新的架構(gòu),其優(yōu)秀的表現(xiàn)力讓開(kāi)發(fā)者和用戶感受到了強(qiáng)烈的沖擊,無(wú)數(shù)的開(kāi)發(fā)者為其著迷,同時(shí)微軟的廣大設(shè)計(jì)者也在不斷地為其完善和充實(shí),同時(shí)Silverlight團(tuán)隊(duì)也積極的構(gòu)建Silverlight 5,其初步的版本已在 http://channel9.msdn.com/Series/Silverlight-Firestarter做了演示,從中你可以感受到Silverlight未來(lái)之路。我在學(xué)習(xí)了里面的性能優(yōu)化的Event后,對(duì)這部分的介紹做了一個(gè)摘要,希望給大家簡(jiǎn)單的了解。

  性能優(yōu)化是一個(gè)逐步迭代的過(guò)程,在此過(guò)程中你需要做到以下的工作:

  1、明確哪些關(guān)鍵的步驟對(duì)性能優(yōu)影響;

  2、制定清晰地目標(biāo);

  3、經(jīng)常并盡早的進(jìn)行性能測(cè)試;

  4、對(duì)新加入的新特性進(jìn)行監(jiān)視;

  5、在最終的部署環(huán)節(jié)進(jìn)行測(cè)試。

  一、 Sivlerlight 啟動(dòng)時(shí)的優(yōu)化

  減少XAP包的下載量;盡量去除不必要的XAML標(biāo)記以減少解析時(shí)間;使用延遲加載的方式來(lái)減少和磁盤(pán)IO的交互以及使用歡迎頁(yè)面來(lái)提高加載時(shí)的用戶體驗(yàn)。

1  在這兒Jossef Goldberg還提供了動(dòng)態(tài)下載XAP包的關(guān)鍵代碼范例[DataGrid控件的優(yōu)化]:

  由于DataGrid控件庫(kù)沒(méi)有在提供在Silverlight核心庫(kù)中,所以在我們的程序中如果使用該控件,則加載相應(yīng)的大約144KB的SDK控件庫(kù),因此如果你的應(yīng)用程序并沒(méi)有在程序一開(kāi)始就使用到DataGrid控件,那么我們就可以使用延遲下載和動(dòng)態(tài)加載的方式。

  具體的步驟和代碼如圖: 2  二、運(yùn)行時(shí)的優(yōu)化性能

  1、減少頁(yè)面重繪;

  a:減少頁(yè)面的更新  

  Silverlight僅在頁(yè)面為“臟”的部位進(jìn)行重繪,因此我們可以減少使用大篇幅的動(dòng)畫(huà);關(guān)閉頁(yè)面中隱藏的動(dòng)畫(huà)及注意控件的默認(rèn)動(dòng)畫(huà)行為。

  b:直接更新頁(yè)面

  這可以通過(guò)設(shè)置Silverlight對(duì)象的兩個(gè)頁(yè)面參數(shù)來(lái)實(shí)現(xiàn),即enableRedrawRegions 和enableFrameRateCounter :

  相應(yīng)的設(shè)置如下:

       <param name="enableRedrawRegions" value="true" />

       <param name="enableFrameRateCounter" value="true"/>

  2、小心使用Effects;

  由于使用酷效果可以增強(qiáng)程序的表現(xiàn)力,所以很多的設(shè)計(jì)人員喜歡使用它,不過(guò)使用Effects會(huì)給我們的應(yīng)用程序帶來(lái)性能問(wèn)題,因?yàn)镋ffects是CPU計(jì)算來(lái)呈現(xiàn),不能獲得GPU的運(yùn)算處理的好處,所以要盡量少用。如果使用Effects還得注意不要對(duì)Effects的屬性進(jìn)行動(dòng)畫(huà)修改,或者將其用到動(dòng)畫(huà)部件上,同時(shí)將Effects應(yīng)用到子節(jié)點(diǎn)上。

  3、使用GPU加速;

  由于Silverlight可以使用位圖緩存,緩存的位圖使用于GPU內(nèi)存,所以位圖緩存可以通過(guò)GPU加速。下列元素可以使用GPU加速:Render Transforms(變換);Opacity(透明度);Rectangular Clip(矩形剪切);Projects(透視).其他如Effects(效果)、Opacity Mask(透明掩碼)、Non-rectangular Clips(非矩形剪切)只能依靠CPU呈現(xiàn)。

  使用GPU加速的步驟有

  1)、在插件級(jí)設(shè)置為允許GPU加速

  <param name=“EnableGPUAcceleration” value="true"/>

  2)、在元素級(jí)設(shè)置允許位圖緩存

  <StackPanel CacheMode="BitmapCache“ … >

  3)、優(yōu)化操作:控制緩存位圖的尺度或者數(shù)量(數(shù)量等同于內(nèi)存,特別使用于縮放的場(chǎng)景)

  <BitmapCache RenderAtScale=“2" .../>

  那么什么時(shí)候使用BitmapCache呢,一般來(lái)說(shuō)呈現(xiàn)元素多的昂貴操作如:GPU能對(duì)他們的屬性進(jìn)行動(dòng)畫(huà)以及用戶可以明顯感覺(jué)到性能影響的情況下可以考慮使用它。對(duì)于大幅面的視覺(jué)元素不要使用BitmapCache,因?yàn)镚PU緩存不夠用時(shí)會(huì)使用軟件來(lái)模擬,那樣反而適得其反;如果子元素也有動(dòng)畫(huà)師也不要使用BitmapCache,因?yàn)槭褂镁彺鏁r(shí)會(huì)把所有的子元素本身也加入到緩存中。

  4、簡(jiǎn)化XMAL標(biāo)記(減少視覺(jué)樹(shù)的復(fù)雜度);

  1)、可視樹(shù)越小就越快:屬性、排列、綁定、輸入、樣式都會(huì)加大開(kāi)銷,同時(shí)小樹(shù)讓事件的路由更快,內(nèi)存使用更少,程序設(shè)計(jì)中也容易計(jì)量元素的數(shù)量。

  2)、警惕模板擴(kuò)張:設(shè)計(jì)器的模板可能是你的視覺(jué)樹(shù)爆炸性的增長(zhǎng)。由于用戶控件會(huì)試圖解析每一個(gè)實(shí)例,這使得開(kāi)銷加大,這是我們應(yīng)該使用模板而不是用戶控件。

  3)、無(wú)用的子樹(shù)的處理:移除長(zhǎng)時(shí)間不用的子數(shù),將Visibility=“Collapsed”替代Opacity=“0” ,因?yàn)榍罢卟粫?huì)分配實(shí)例。

  5、避免UI線程阻塞;

  Silverlight共享瀏覽器的UI線程,包括:動(dòng)畫(huà)、排列、事件、用戶輸入、App代碼,而幀柵格化、媒體解碼、GPU工作都不使用UI線程。而且只有UI線程能進(jìn)入到XAML對(duì)象中。

  對(duì)于耗時(shí)的操作都可能影響到你的動(dòng)畫(huà)、輸入、排列等頁(yè)面呈現(xiàn),這是我們可以采用以下的兩種方式來(lái)避免這些耗時(shí)的操作阻塞你的UI呈現(xiàn): 

  1)、把這些長(zhǎng)任務(wù)它放入到獨(dú)立的代碼塊中,然后使用Dispatcher.BeginInvoke() 進(jìn)行異步調(diào)用;

  2)、也可以使用BackgroundWorker多線程處理機(jī)制,因?yàn)樗鼡碛袃?nèi)建的報(bào)告進(jìn)度和取消操作的功能。

NET技術(shù)Silverlight性能優(yōu)化紀(jì)要,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 2021自产拍在线观看视频 | 鲁大师影院在线视频在线观看 | 国产精品18久久久久久欧美 | 最新国产在线视频在线 | 另类重口bdsm日本tv | 欧美 国产 日产 韩国 在线 | 51无码人妻精品1国产 | 免费看大黄高清网站视频在线 | 成人免费在线视频 | 成人无码精品1区2区3区免费看 | 高清bblxx手机在线观看 | 亚洲国产在线精品国自产拍五月 | 国产露脸150部国语对白 | 国产久青青青青在线观看 | 亚洲精品第一综合99久久 | 摥管专用动态图399期 | 国产免费怕怕免费视频观看 | 在线看片亚洲 | 免费国产成人 | 欲香欲色天天综合和网 | 秋霞伦理手机在线看片 | 日韩精品久久日日躁夜夜躁影视 | 丝袜美女自摸 | 别插我B嗯啊视频免费 | 无敌在线视频观看免费 | 手机伊在人线香蕉2 | 樱桃熟了A级毛片 | 中文字幕在线免费观看视频 | 亚洲精品久久久久久久蜜臀老牛 | 日韩欧美1区 | 久久香蕉国产线看观看精品 | 美女脱了内裤张开腿让男人桶到爽 | 花蝴蝶免费观看影视 | 国产亚洲精品看片在线观看 | 国产精品视频国产永久视频 | 久久精品亚洲AV高清网站性色 | 试看做受120秒免费午夜剧场 | 男人和女人一起愁愁愁很痛 | 女人张腿让男人桶免费 | 国产真实强被迫伦姧女在线观看 | 久久免费特黄毛片 |