成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 開發(fā)工具
Silverlight性能優(yōu)化一般可以通過盡量使用輕量級的控件;在對象動畫過程中不要碰觸它的Opacity屬性;使用CompositionTarget.Rendering 事件啟動逐幀動畫(循環(huán))等方法來實現(xiàn)。

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

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

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

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

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

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

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

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

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

WPF/Silverlight應用程序為了讓用戶得到較好的交互體驗,均會使用大量的圖形、媒體與動畫,目前的個人電腦配置1G+內存都算低端了,因此大家不妨多考慮利用空間換時間,將這些資源盡量的緩存,每次調用時首先檢索是否存在于緩存中,然后才考慮重新加載。這給頻繁的資源素材切換提供了快速且可靠的通道,消耗的僅僅是閑置無用的一點點內存而已。

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

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

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

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

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

責任編輯:曹凱 來源: 博客園
相關推薦

2009-12-31 14:12:40

Silverlight

2009-12-16 15:04:26

Ruby實現(xiàn)strea

2009-12-01 13:41:49

靜態(tài)路由設置

2009-11-23 15:10:28

PHP獲取當前url

2022-01-12 07:48:18

首屏前端性能

2009-11-30 11:24:49

PHP將EXCEL導入

2009-12-01 09:52:40

PHP過濾字符串

2010-05-12 10:29:51

MySQL數(shù)據(jù)庫

2010-07-21 14:33:01

刪除telnet

2009-11-24 17:25:00

PHP二維數(shù)組排序

2011-04-01 13:34:12

zabbix

2009-12-03 14:43:46

phpMyAdmin配

2009-12-29 18:02:26

SilverLight

2010-04-23 13:53:29

Oracle密碼

2010-02-06 11:19:33

C++獲取文件

2009-12-25 16:52:57

網絡接入控制

2009-11-23 19:16:32

路由器測試

2009-12-29 18:34:21

Silverlight

2009-12-15 13:47:33

Silverlight

2009-12-31 17:21:41

Silverlight
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品天堂 | 欧美区在线 | 国产成视频在线观看 | 日本午夜视频 | 国产精品亚洲一区二区三区在线 | 在线日韩不卡 | 亚洲欧美高清 | 午夜精品久久久 | 欧美一级二级三级视频 | 一区二区三区高清 | 天天亚洲 | 一区二区三区久久久 | 久久精品成人 | 国产日韩欧美在线播放 | 美女视频一区二区 | 日韩在线观看一区二区三区 | 欧美不卡一区二区 | 国产在线视频一区二区董小宛性色 | 欧美国产亚洲一区二区 | 欧美极品在线播放 | 亚洲一区二区三区久久久 | 国产精品久久久久久一区二区三区 | 欧美色综合一区二区三区 | 黄色电影在线免费观看 | 欧美成人精品一区二区男人看 | 中文字幕亚洲一区二区三区 | 国产精品久久国产精品久久 | 日本一区视频在线观看 | 国产一区二区欧美 | 日韩精品免费在线观看 | 亚洲一区二区三区 | 超黄毛片 | 一级特黄a大片 | jizz在线免费观看 | 网站黄色在线免费观看 | 久久伊人久久 | 国产美女h视频 | 亚洲精品一区二区三区蜜桃久 | 成人免费在线网 | 国产一区二区三区四区 | 男人的天堂在线视频 |