MIX09发布的Silverlight 3新特性

Joe Stegman在MIX09上已经详细介绍了Silverlight 3的新特性(课程:What's New in Microsoft Silverlight 3 PPT Video)。不过我下面来简短的做一些总结:

Video/Audio

Silverlight除VC-1外还支持H.264视频格式。这是YouTube等使用的新兴业界标准格式,并在很多设备上有硬解码。Silverlight也支持AAC音频。二者都以MP4容器格式实现(如.MP4或.M4A格式文件)。

GPU Acceleration

这是Silverlight 3运行时中opt-in的特性,in-browser和out-of-browser都可以。在HTML中的Silverlight tag中,添加一个EnableGPUAcceleration=true参数来启用GPU加速。

3D Support

Silverlight 3带有透视3D,对于一个父元素,你使用一个Projection attached property,如:

<Border.Projection>
   <PlaneProjection x:Name=”p3” RotationY=”-30” />
</Border.Projection>

Animation Easing

There’s now a series of easing functions.

Custom Dialogs

Silvelright 3现在支持SaveFileDialog。出于安全原因,我们不返回路径给开发者,相反,你可以从结果中打开文件:

mySaveFileDialog.Show();
if (mySaveFileDialog == true)
   return mySaveFileDialog.OpenFile();

Effects

Silverlight 3中引入的Effects提供低级手段来影响视觉效果。我们内置提供阴影和模糊两个效果,你也可以创建自己的效果。自定义效果以HLSL Shaders来实现——用DirectX SDK工具编译成byte code供Silverlight 3使用。Shaders允许开发者在UI元素渲染前修改每个像素。

Pixel和Media APIs

你现在可以从位图中读/写像素。这个功能有两种使用方式:in-memory位图或保存visual到位图。同时支持的还有raw audio/video API实现动态声音生成,自定义视频codec,或者alpha video channels。

Local Messaging

在多个Silverlight插件间传递消息曾是个挑战。现在我们支持类似"命名管道"的消息,不但垮同一网页上的对象,甚至跨多浏览器的多个Silverlight实例。例如一个Chrome实例中的Silverlight和Firefox中的另一个实例通信。

Out of Browser

通过一个manifest对每个应用程序启用(标准Silverlight 3模板中就有这个段落,你只要uncomment它)。一个用户可以右击Silverlight内容,或者点击应用里的一个按钮来启动Silverlight out-of-browser应用。

Tooling

Silverlight 3工具会包含新的压缩算法,XAP文件的大小会缩小10~30%。

LINK: