Silverlight启动缓慢的可能原因

时间:2012-02-15 21:04:31

标签: silverlight optimization load-time app-startup

我有一个从IIS加载非常慢的Silverlight应用程序。当我调试它需要大约5秒钟加载,从服务器,它需要一分钟。 xap的大小只有8 MB,这对我来说似乎不是特别大,虽然我听到其他人谈论减少xap中的媒体数量,但我的应用程序只包含三个低分辨率图标,这些图标不应该太多影响。我已经从~10Mbps到~24Mbps的互联网连接进行了测试,似乎没有太大差别。由于频繁更改,我已禁用应用程序缓存以便更新通过,但允许缓存仍然无法帮助首次使用者的1-2分钟加载时间(不是非常好的第一印象)。

毋庸置疑,这给我留下了一些问题:

  • 这听起来像是硬件/ IIS问题,还是我从应用程序端控制的东西。
  • 8MB xap文件是否比典型的xap大?
  • 什么可能导致调试加载时间和部署加载时间之间的差异?
  • 我无法想象会出现这种情况,但预计会有1分钟的启动时间吗?

4 个答案:

答案 0 :(得分:2)

您是否关注the best practices

答案 1 :(得分:1)

8 MB非常大。我想这是因为你有很多字体或视频或图片打包在该文件中。如果你需要使它具有高效性,它们是你需要最小化的第一件事。应用程序可能很小的原因还有很多,但这些元素可能会被滥用以使任何人哭泣!

答案 2 :(得分:1)

对于xap文件,文件大小为8 MB非常大。我已经读过一些人可以将xap保持在250k甚至是图形密集型应用程序的地方......但是你必须做很多事情才能保持尺寸,比如以某种方式从xap外部动态加载图像或视频。我不知道怎么做,但这不是你的问题。

我有几个具有相当大的xap文件大小的应用程序,直到我了解到每次对dll的引用都会增加xap的大小,因为它必须在编译时在xap中包含dll。我只是将dll引用添加到我正在测试的项目中,或者因为我认为我可能需要它...然后只是将未使用的dll留在那里......但是xap的大小会继续增长。这是我第一次学习银光时回来的时候......

我发现,如果我只清理掉未使用的引用,它会将xap大小从8 MB缩小到3个半(这仍然很重,但不如8)。我也经历过并查找了我只在几个地方或者一个地方使用的dll引用,并试图弄清楚我是否可以以某种方式实现该功能,而不必使用另一个对项目的引用。我告诉你,引用导致xaps变得很快!

您的项目中可能没有额外的,不需要的参考资料......但这是一个值得确认的好地方。

答案 3 :(得分:1)

  1. 听起来不像硬件/ IIS问题。服务8Mb很容易。
  2. 8MB xap文件是否比典型的xap大?这对我来说听起来很大。使用zip扩展名重命名xap文件,看看里面是什么。
  3. 什么可能导致调试加载时间和部署加载时间之间的差异?它实际上是所有网络呼叫。运行提琴手并观察它们。 Fiddler还可以模拟不同的调制解调器速度。