av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Silverlight性能優(yōu)化具體方法介紹

對(duì)于開發(fā)人員來說,運(yùn)用一款工具開進(jìn)行開發(fā)程序的時(shí)候,肯定會(huì)想盡一切辦法來使這款工具的運(yùn)用效能達(dá)到一個(gè)更高的境地。那么對(duì)于Silverlight的使用也是一樣。我們先來看看Silverlight性能優(yōu)化的具體方法。#t#

10多年的都蘭網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整都蘭建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“都蘭網(wǎng)站設(shè)計(jì)”,“都蘭網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

Silverlight性能優(yōu)化1)盡量使用輕量級(jí)的控件

這在WPF中表現(xiàn)得極為明顯,讓我記憶最為深刻的就是FormattedText、TextBlock和Label這3個(gè)控件,從左至右性能消耗越多,往往習(xí)慣了隨便拖控的朋友剛接觸WPF時(shí)一看到熟悉的Label就拖它一個(gè)出來,F(xiàn)ormattedText就不說了,TextBlock擁有與Label幾乎一樣的功能,因此希望看過本文的朋友注意了,WPF開發(fā)中盡量選擇輕量級(jí)的控件。而由于Silverlight是WPF的子集,所以它的控件幾乎都是經(jīng)過濃縮與優(yōu)化的,因此只需特別注意布局控件的選擇;Canvas是性能較好且易于使用的布局控件,本文強(qiáng)力推薦。

Silverlight性能優(yōu)化2)在對(duì)象動(dòng)畫過程中不要碰觸它的Opacity屬性

舉個(gè)最簡(jiǎn)單的例子,如果一個(gè)物體在做水平動(dòng)畫移動(dòng),此過程中你為它添加了一個(gè)鼠標(biāo)懸停事件,事件內(nèi)容為修改它的Opacity屬性為半透明,然而當(dāng)你運(yùn)行程序后卻會(huì)發(fā)現(xiàn)當(dāng)你把鼠標(biāo)停在正在移動(dòng)的該物體上時(shí),會(huì)導(dǎo)致該物體運(yùn)動(dòng)的短暫不平滑(類似跳幀),這就是因?yàn)橹苯有薷脑氐?Opacity 屬性會(huì)迫使系統(tǒng)創(chuàng)建一個(gè)臨時(shí)的 Surface,這個(gè)過程是需要消耗一定性能的,切記。

Silverlight性能優(yōu)化3)使用CompositionTarget.Rendering 事件啟動(dòng)逐幀動(dòng)畫(循環(huán))

實(shí)現(xiàn)動(dòng)畫的方式有多種,如果您需要實(shí)現(xiàn)高密度的基于畫面刷新的動(dòng)畫,那么建議使用CompositionTarget.Rendering 事件。并且注意了下面才是關(guān)鍵,在Silverlight中您需要非常默契的限制好參數(shù)MaxFrameRate,它可以根據(jù)客戶電腦配置及時(shí)時(shí)的性能消耗調(diào)節(jié)畫面的刷新率,相當(dāng)于您的動(dòng)畫機(jī)器保姆。我個(gè)人的建議,將MaxFrameRate設(shè)置在45-60這個(gè)段內(nèi),這樣最接近您液晶顯示器的刷新率(有人說將之設(shè)置為1000會(huì)使動(dòng)畫極其流暢;沒錯(cuò),您的目的是達(dá)到了,但是將導(dǎo)致您的CPU瘋狂的運(yùn)做,我想這不是您想要的結(jié)果吧),在繁忙時(shí)即不會(huì)過度消耗性能,又能讓您得到清晰且流暢的視覺享受。

Silverlight性能優(yōu)化4)盡量使用各種加速與緩存

在WPF中大家可以通過降低圖片的質(zhì)量以換取性能的提升;在Silverlight中可以啟動(dòng)EnableGPUAcceleration然后通過設(shè)置各Uelement對(duì)象的CacheMode="BitmapCache"來實(shí)現(xiàn)GPU加速支持(此方法目前存在于3.0版本中,并且倍受爭(zhēng)議)。

WPF/Silverlight應(yīng)用程序?yàn)榱俗層脩舻玫捷^好的交互體驗(yàn),均會(huì)使用大量的圖形、媒體與動(dòng)畫,目前的個(gè)人電腦配置1G+內(nèi)存都算低端了,因此大家不妨多考慮利用空間換時(shí)間,將這些資源盡量的緩存,每次調(diào)用時(shí)首先檢索是否存在于緩存中,然后才考慮重新加載。這給頻繁的資源素材切換提供了快速且可靠的通道,消耗的僅僅是閑置無用的一點(diǎn)點(diǎn)內(nèi)存而已。

Silverlight性能優(yōu)化5)適當(dāng)?shù)臅r(shí)候使用關(guān)聯(lián)屬性將給您帶來意外的驚喜

綁定關(guān)聯(lián)屬性(DependencyObject)是***效率的事情,無論是WPF還是Silverlight;定義好帶回調(diào)方法的關(guān)聯(lián)屬性,僅當(dāng)關(guān)聯(lián)屬性被修改后才通知界面更新,這才是關(guān)聯(lián)屬性最有性能的使用方式。但是,如果您亂用或過度使用關(guān)聯(lián)屬性,將導(dǎo)致整體性能的大幅度降低,其實(shí)一些普通的對(duì)象屬性是完全可以用CLR屬性代替的,這即為從細(xì)節(jié)中抽離出性能原理。

Silverlight性能優(yōu)化6)將后臺(tái)工作者(BackgroundWorker)看做您的左膀右臂

BackgroundWorker是從Winform年代即存在的一個(gè)偉大控件,使用它配合界面的Dispatcher進(jìn)行跨線程的后臺(tái)異步委托是兼具性能與友好體驗(yàn)的處理方式。大家不妨在頭疼大量數(shù)據(jù)處理的時(shí)候,將BackgroundWorker視為您的左膀右臂,您會(huì)發(fā)現(xiàn)過程原來是可以這么簡(jiǎn)單的。

目前暫時(shí)先寫這6點(diǎn)建議吧,如果有不對(duì)或不妥處,還望大家指正。同時(shí)大家應(yīng)該詳細(xì)閱讀本文開頭呈現(xiàn)的兩個(gè)msdn地址中關(guān)于WPF/Silverlight性能提升的提示,只要您都做到了,我相信任何產(chǎn)品都能通過您的手發(fā)揮出***的性能。


網(wǎng)頁(yè)名稱:Silverlight性能優(yōu)化具體方法介紹
文章地址:http://uogjgqi.cn/article/codcjdj.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流