圖解Silverlight 3的7個新功能
1. 支持更多的媒體編碼格式
在Silverlight 3中新增加的多媒體編碼格式包括H.264,AAC,MP4。Silverlight這項技術,從出生以來,就一直把對多媒體,尤其是視頻的支持,放在首要位置。這次對更多的編碼格式提供支持,方便網站建設者更容易的發(fā)布、部署視頻資料,只需要如下一行XML:
2. 利用GPU加速
隨著顯卡計算能力的加強,應用程序把越來越多的圖形計算任務從CPU中拿出來交給GPU完成。然而,要利用到GPU,對程序員而言通常意味著更多的編碼任務,在Silverlight 3中,這個任務的復雜程度被大大簡化,只需要在XAML中多加入幾行XML代碼,就可以輕松享受GPU的超強計算能力,貼一張GPU渲染的效果圖:
3. 透視化3D
透視化3D,簡單的說,就是把2D對象放到3D空間中去。和傳統(tǒng)的3D把一個3D空間的對象投影到2D空間中不同,透視化3D意味著更高的性能,更友好的編程接口,同時能完成我們80%的3D任務。好了,說了那么多,來看一個demo,一行XAML帶來的變化:
以上這個例子,稍加擴展,就可以在Silverlight 3中,在3D空間中旋轉一個控件。
4. 自定義特效
在Silverlight 3中,引入了shader的概念,它是一個像素粒度的操作——每當Silverlight 3要顯示一個像素的時候,它對shader說:“我要顯示這個像素了,你是否要做些處理,實現(xiàn)某些特效?”。我們來看看shader的強大之處:下面一個示例中,左邊的圖像是背景圖像,右邊的圖像是前景圖像,在Silverlight 3之前,我們盡管可以同時顯示這兩個圖像,但是背景圖像會被前景遮住。(當然可以設 置前景的透明度,但是這樣整個前景圖像的清晰度就下降了)我們在顯示前景圖像的時候可以應用一個shader:把所有的黑色過濾掉。這樣,我們在前景上過濾掉所有黑色背景的同時,還擁有了一個清晰的火焰。
5. 更多的控件支持
每一個新的Silverlight版本的發(fā)布,都伴隨著很多新的控件的問世。這個版本也不例外,新推出的控件有:DockPanel,Expander,Label,TreeView,ViewBox等等。在這里舉一個“Save as...”(另存為)控件的例子。可能有的朋友會問,“另存為”作為一個耳熟能詳的控件,為什么要等到Silverlight 3才提供?答案是出于安全性的考慮:Silverlight為了保護用戶的安全,對本地文件的讀寫有很大的限制。(否則的話,如果服務器端可以隨意讀寫用戶的本地文件,那么就很容易做出一個釣魚網站了)。Silverlight 3中,對另存為控件的支持也有著安全性的考慮。開發(fā)人員可以創(chuàng)建一個SaveFileDialog實例,但是當用戶選定本地文件的時候,他只能得到這個文件的stream,而不是這個文件的路徑。這樣的設計避免了提供一個打開任意路徑的本地文件的功能,從而使Silverlight運行在一個更為安全的環(huán)境中。
6. 本地消息傳遞(local messaging)
Silverlight是瀏覽器的一個插件,在同一時間可能會有多個實例。比如多個瀏覽器同時訪問包含Silverlight的網頁,就會有多個Silverlight的實例同時運行,本地消息傳遞允許這些不同的siliverlight控件實例之間互相通信。
7. 在瀏覽器外運行Silverlight
Silverlight 3支持把一個Silverlight頁面安裝到本地,用戶可以像一個桌面程序一樣離線使用這個程序,并且可以右鍵卸載這個程序。
比如下面一個瀏覽器中運行的國際象棋程序,用戶可以在右鍵菜單中,把它存儲為一個本地程序。
然后,就可以像一個普通的桌面程序一樣,運行這個程序了。同時,也能在這個桌面程序的右鍵菜單中卸載這個程序。
博文鏈接:http://blog.csdn.net/SilverlightShanghai/archive/2009/03/24/4019234.aspx
【編輯推薦】