首页 > 新闻系统 > 编程天地 > 文章正文

Silverlight 1.0 架构

2008-01-25 11:39:20 来源:ITPUB论坛 作者: 点击:
Microsoft Silverlight 是一种跨浏览器、跨平台的插件,用来在网络上发布具有丰富交互性的内容。

。随时间的推移使用帧的推荐方法是通过动画系统实现,这种方式是平台无关的,也是浏览器无关的,是最有效的方法。

  有关元素树的更多信息,参见 Silverlight 对象模型。

  JavaScript 编程模型

  Silverlight 1.0 中所有的对象都可以通过 JavaScript 对象模型进行访问。宿主页面可以调用 content.FindName 方法得到一个命名元素,进而可以设置它的属性或者调用它公开出来的方法。此外,我们还可以对元素或者控件附加键盘和鼠标事件处理器。事件处理器卡可以让用户得到 javaScript 的回调,相应用户的输入。

  注意 当 JavaScript 运行时,插件将会停止展现,通常,如果在事件处理器上做一点小小的工作,这不会带来任何问题。然而,如果你的应用在 JavaScript 线程上需要大量的、CPU 相关的工作,我们建议你将改任务划分成小的任务,这可以与期望的帧速率同步展现。提高性能的其它建议,请参见 For additional suggestions for improving performance, see 性能小贴士。

  展现引擎

  Silverlight 展现引擎为插件上指示的期望帧速率栅格化元素树进行了优化,这种优化主要包括以下方面:

  * 增加帧之间的重画,这将减少内容改变时要画的像素数;

  * 不栅格化弯曲或者部分闭合的内容;

  * 只展现可见的内容(也就是说,不展现剪切掉的、opacity=0 等等的内容);

  * 利用机器中的多核 CPU 大大提高展现性能。

  展现引擎包含如下特性:

  * 预设的反锯齿支持;

  * 基本图形的支持,如长方形 (带有可选圆角), 椭圆, and 图像;

  * 绘制路径支持 (参见 Silverlight 概述中的形状与绘制 和 路径标记语法);

  o 路径数据:一套几何形状,包括弧、贝塞尔、线段、多点贝塞尔、多边形、多次方贝塞尔(poly-quadratic Bezier )和二次方贝塞尔(quadratic Bezier );

  o 填充规则:非0或者奇/偶;

  o Strokes: 可变宽度的画笔

  o Dashing: 自定义 dash 数组.

  o End caps: 圆、平和斜。

  * 画刷支持 (参见 画刷概述):

  o 纯色

  o 带双线过滤的图形画刷支持

  o 线性渐变

  o 径向渐变

  o 带双线过滤的视频画刷

  * 文本展现支持 (参见 文字和字体概述):

  o 次像素(或者叫亚像素)定位

  o 平滑文字的自定义反锯齿

  * 变换 (参见 变换概述):

  o 路径变换

  o 画刷变换

  o 当缩放时文字和图像扔保持平滑,图像数据重新采样,图像质量依赖于源图像的解析度

  * 剪切:

  o 应用到任意一组图元,可包括嵌套的剪切、不透明效果和不透明蒙版

  * 不透明和不透明蒙版;

  o 应用到任意一组图元,可包括嵌套的剪切、不透明和剪切

  尽管展现引擎尽力把内容处理得更好,但是你应当减少它处理原生元素的数量,这可以通过隐藏子树来实现,设置 Visiblity 属性为 Collapsed 或者从元素树中去除这些子树。在切换到全屏模式时这种优化是十分必要的。在全屏的内容添加到元素树之前,带窗口的内容应当标记Visibility=Collapsed。这种做法会减少图形引擎处理的内容,同时减少每帧要遍历的元素数目。

  输入和事件

  Silverlight 提供了一套响应行为的事件,如 Silverlight 中状态的改变和用户的输入(例如鼠标行为)。更多的信息参见 Silverlight 事件。

  动画系统

  通过添加移动和交互性,动画能够增强作品的图形效果。通过变换背景颜色或者进行动态变换,可以创造出戏剧性的屏幕变换效果或者有益的视觉暗示。我们可以创建基本的动画,也可以使用关键帧创建更复杂更强大的动画。此外,通过附加事件,可以实现动画的交互。更多信息,

9 7 3 1 2 3 4 8 :

精彩推荐
焦点大图推荐
本类热门文章

论坛美图

本周软件下载排行

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203