Silverlight Web浏览器应用程序性能如何受应用程序中的页面数或子页数影响?

时间:2010-08-26 18:44:24

标签: silverlight performance

如果您具有部署Silverlight图像查看和深度缩放应用程序的实践经验,那么应用程序页面的数量是否会影响性能?假设下载或执行时间,显示时间等等。

需要为用户提供大量专用界面来查看和处理图像,包括深度图像。

更好的是:

  1. 让一个包含5个页面的应用程序显示图像UI的不同变体,每页有3个子窗口(共15页) 或
  2. 有5个不同的应用程序,一个主页面和3个子页面。但是让它们通过webservices一起工作,或者只是在运行时链接页面html。
  3. 有什么想法? 谢谢, VAL

1 个答案:

答案 0 :(得分:4)

这里有2个问题。

  • 初始下载时间和
  • 实际运行时性能

下载时间/应用程序大小:

单片应用程序(许多许多初始下载的megs)会导致糟糕的用户体验。这是每个人在Siverlight中遇到的最常见问题,如果他们创建一个大型应用程序(基本上是简单的方法)。您可能会生成需要几分钟才能加载的应用程序。传统Web开发的准则在用户感到厌倦并离开网站之前不到10秒,因此使用大型Silverlight应用程序很容易超越。

解决此问题的唯一方法是将应用分成多个可下载的部分。这并不一定意味着多个应用程序,因为Silverlight支持下载其他XAP文件(通常是模块)。

最新的解决方案涉及生成单独的组件,这些组件按需下载,并且每次访问时都不会由单个用户使用网站的所有功能。 MEF和Prism就是这种发展模式的好例子。

运行时性能

这一点更难,因为有几个因素导致表现不佳。

  • 内存重复使用不充分(长期存在的对象进入光线,或者只是一次性加载太多)
  • 过度使用动画(这通常是最大的性能影响,因为它很容易在Silverlight中更改大量屏幕像素)
  • 效率低下的代码(假设任何算法都可以用更快的速度替换,尽管通常在速度和内存使用之间进行权衡)。

所有这些都需要解决,但这取决于开发人员的技能和经验,以确定其运行效率。

我的建议:

  • 使用单个应用程序/许多单独的模块模式,如MEF 或Prism打破你的应用程序 离散模块。
  • 如果表现很关键,请注意过多的动画。
  • 从第1天开始计划一般效率,以后你会避免心痛。

希望这有帮助。