WEB开发网
开发学院图形图像Flash Silverlight 技巧、窍门和最佳实践 阅读

Silverlight 技巧、窍门和最佳实践

 2008-10-26 11:49:37 来源:WEB开发网   
核心提示: 牢记性能方面的技巧就在 Silverlight 1.0 问市之前,Microsoft 已发布了名为“基于 Silverlight 的应用程序的性能技巧”的文档 (msdn2.microsoft.com/bb693295),Silverlight 技巧、窍门和最佳实践

牢记性能方面的技巧

就在 Silverlight 1.0 问市之前,Microsoft 已发布了名为“基于 Silverlight 的应用程序的性能技巧”的文档 (msdn2.microsoft.com/bb693295)。利用此指南中汇集的技巧,您可避免某些常见错误,进而优化性能。其中包含以下最佳实践:

使用“可见性”属性而不是“不透明度”来隐藏对象。

不要使用 MediaElement 和“路径”对象的“宽度”和“高度”属性。

使用后以编程方式分离注册的事件处理程序。

慎重使用透明控件背景。

它们所蕴含的道理不难理解。不难想象,为什么使用想要显示的宽度和高度来编码视频会更好(而不是以一个比例编码而以另一个比例显示)。这是因为 Silverlight 呈现引擎不必动态缩放每帧。记录下这些技巧会有所裨益,Silverlight 还有一个特性,它只需用普通的操作就能重设视频的大小,并且不会减弱性能。

我要添加到该文档中的一个最佳实践是要避免对 FindName 的冗余调用。我经常看见结构如下的事件处理程序:

function onClick(sender, args)
{
  var rect = sender.findName('Rect');
  rect.fill = 'red';
}

问题是 FindName 必须搜索 XAML 对象树来查找其目标。如果要在应用程序的生命周期内多次引用名为 "Rect" 的 XAML 对象,则应对其进行一次初始化,例如,在根 canvas 的加载事件的事件处理程序中,并在全局变量中存储引用。然后,您就不必在每次调用 onClick 时都调用 FindName,而是可以:

function onClick(sender, args)
{
  _rect.fill = 'red';
}

上一页  1 2 3 4 5 6 7  下一页

Tags:Silverlight 技巧 窍门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接