2012-02-15 82 views
2

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

不用说,这给我留下了几个问题:

  • 这听起来像一个硬件/ IIS问题,或者说我能控制的,从物联网的应用方面的东西。
  • 8MB xap文件是否比典型的xap大?
  • 什么会导致调试加载时间和部署加载时间之间的差异?
  • 我无法想象这是这种情况,但预计1分钟的启动时间?
+0

8MB比Silverlight下载本身大。 ;)这是一个非常大而复杂的应用程序吗?如果没有,我会说XAP比它应该更大。而且,我知道这是一种'呃'的事情,但是你正在部署一个Release版本而不是一个Debug版本,对吧? – 2012-02-15 21:12:16

+0

@Morgan,你有没有找到解决这个问题的方法? (调试与部署加载时间) – Johnny 2012-10-05 23:20:40

回答

1

8 MB是相当大的。我想这是因为你有很多字体或视频或图像打包在该文件中。如果你需要提高性能,它们是你需要最小化的第一件事。还有很多其他的原因,为什么一个应用程序可以很小,但这些元素具体可以被滥用,让任何人哭!

+0

没有。正如我所提到的,整个应用程序中唯一的媒体是3个图标图像文件(每个大约1 KB)。如果8MB很大,那么典型的xap大小是多少? – 2012-02-15 22:55:20

+0

3到5 MB,如果它有很多东西...请记住,它不是你需要看到他们在那里的图像。资源可能只是不可见。此外,延迟也可能是在加载之后...也许应用程序正在进行Web服务调用以获取它认为可能需要的大量数据(这不是一个好习惯!只在需要时加载!) – 2012-02-15 23:29:32

1

对于xap文件,8 MB的文件大小相当大。我已经读过一些人可以将他们的xp降到250k,即使是图形密集型的应用程序......但是你必须做很多事情来保持大小,比如动态地从xap之外加载图像或视频。我不知道该怎么做,但这不是你的问题。

我有几个应用程序有很大的xap文件大小,直到我得知每个dll的引用,你有它增加了大小的xap,因为它必须包括dll在xap编译它时。我使用的只是添加dll引用到我正在测试的项目,或者也许是因为我认为我可能需要它......然后将未使用的dll留在那里......但是随后xap的大小会持续增长。这是当我第一次学习Silverlight时我回来了...

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

您的项目中可能没有多余的不必要的参考文献......但这是一个确认的好地方。

1
  1. 它听起来不像硬件/ IIS问题。服务8Mb是一个辛苦。
  2. 8MB xap文件是否比典型的xap大?这听起来对我来说很重要。用zip扩展名重命名xap文件,看看里面是什么。
  3. 什么会导致调试加载时间和部署加载时间之间的差异?它几乎是所有的网络通话。运行提琴手并观察它们。提琴手也可以模拟不同的调制解调器速度。