2012-02-15 83 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. 什麼會導致調試加載時間和部署加載時間之間的差異?它幾乎是所有的網絡通話。運行提琴手並觀察它們。提琴手也可以模擬不同的調制解調器速度。