Silverlight3特點分析
Silverlight3的發(fā)布,又為開發(fā)人員帶來了很多新的功能,進一步提高了開發(fā)人員在實際編程中的效率。我們在這里將會為大家總結(jié)一些有關(guān)Silverlight3特點,希望可以讓大家更進一步的了解這款工具。#t#
Silverlight3特點1. 支持更多的媒體編碼格式
在Silverlight3中新增加的多媒體編碼格式包括H.264,AAC,MP4。Silverlight這項技術(shù),從出生以來,就一直把對多媒體,尤其是視頻的支持,放在首要位置。這次對更多的編碼格式提供支持,方便網(wǎng)站建設(shè)者更容易的發(fā)布、部署視頻資料,只需要如下一行XML:
Silverlight3特點2. 利用GPU加速
隨著顯卡計算能力的加強,應(yīng)用程序把越來越多的圖形計算任務(wù)從CPU中拿出來交給GPU完成。然而,要利用到GPU,對程序員而言通常意味著更多的編碼任務(wù),在Silverlight3中,這個任務(wù)的復(fù)雜程度被大大簡化,只需要在XAML中多加入幾行XML代碼,就可以輕松享受GPU的超強計算能力。
Silverlight3特點3. 透視化3D
透視化3D,簡單的說,就是把2D對象放到3D空間中去。和傳統(tǒng)的3D把一個3D空間的對象投影到2D空間中不同,透視化3D意味著更高的性能,更友好的編程接口,同時能完成我們80%的3D任務(wù)。
Silverlight3特點4. 自定義特效
在silverlight3中,引入了shader的概念,它是一個像素粒度的操作——每當(dāng)silverlight3要顯示一個像素的時候,它對shader說:“我要顯示這個像素了,你是否要做些處理,實現(xiàn)某些特效?”。我們來看看shader的強大之處:下面一個示例中,左邊的圖像是背景圖像,右邊的圖像是前景圖像,在silverlight3之前,我們盡管可以同時顯示這兩個圖像,但是背景圖像會被前景遮住。(當(dāng)然可以設(shè) 置前景的透明度,但是這樣整個前景圖像的清晰度就下降了)我們在顯示前景圖像的時候可以應(yīng)用一個shader:把所有的黑色過濾掉。這樣,我們在前景上過濾掉所有黑色背景的同時,還擁有了一個清晰的火焰。
目前,除了官方提供的陰影(shadow)和模糊(blur)shader使用GPU加速,其他的shader仍需運行在CPU上。
Silverlight3特點5. 更多的控件支持
每一個新的silverlight版本的發(fā)布,都伴隨著很多新的控件的問世。這個版本也不例外,新推出的控件有:DockPanel,Expander,Label,TreeView,ViewBox等等。在這里舉一個“Save as...”(另存為)控件的例子??赡苡械呐笥褧枺?ldquo;另存為”作為一個耳熟能詳?shù)目丶?,為什么要等到silverlight3才提供?答案是出于安全性的考慮:silverlight為了保護用戶的安全,對本地文件的讀寫有很大的限制。(否則的話,如果服務(wù)器端可以隨意讀寫用戶的本地文件,那么就很容易做出一個釣魚網(wǎng)站了)。silverlight3中,對另存為控件的支持也有著安全性的考慮。開發(fā)人員可以創(chuàng)建一個SaveFileDialog實例,但是當(dāng)用戶選定本地文件的時候,他只能得到這個文件的stream,而不是這個文件的路徑。這樣的設(shè)計避免了提供一個打開任意路徑的本地文件的功能,從而使silverlight運行在一個更為安全的環(huán)境中。
Silverlight3特點6. 本地消息傳遞(local messaging)
Silverlight是瀏覽器的一個插件,在同一時間可能會有多個實例。比如多個瀏覽器同時訪問包含silverlight的網(wǎng)頁,就會有多個silverlight的實例同時運行,本地消息傳遞允許這些不同的siliverlight控件實例之間互相通信。
Silverlight3特點7. 在瀏覽器外運行silverlight (Out of Browser)
silverlight3支持把一個silverlight頁面安裝到本地,用戶可以像一個桌面程序一樣離線使用這個程序,并且可以右鍵卸載這個程序。