日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Silverlight性能優(yōu)化具體方法介紹

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

10多年的都蘭網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(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)盡量使用輕量級的控件

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

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

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

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

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

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

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

WPF/Silverlight應(yīng)用程序?yàn)榱俗層脩舻玫捷^好的交互體驗(yàn),均會使用大量的圖形、媒體與動畫,目前的個(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í)一些普通的對象屬性是完全可以用CLR屬性代替的,這即為從細(xì)節(jié)中抽離出性能原理。

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

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

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


分享題目:Silverlight性能優(yōu)化具體方法介紹
分享鏈接:http://m.5511xx.com/article/codcjdj.html