2012-03-06 137 views

回答

1

如果您無法更改圖像質量或尺寸,那麼您可以做很多事情來加快如此大的負載,因爲受連接速度和同時瀏覽器的限制連接。

您可能會受益於加載管理器,如Greensock的LoaderMax。 LoaderMax將幫助確保您同時加載多個資產 - 請參閱maxConnections參數。

另外,我建議不要用一個預加載器加載所有的東西。取而代之的是,每個圖像都有一個旋轉加載程序的佔位符,然後在加載完成後由最終圖像替換。這將提供更平滑的用戶體驗,並以更少的時間創建整體負載的幻覺。

1

即使圖像的總大小不是非常大,100s的請求可能需要相當長的時間。如果您事先知道需要哪些圖像,則可以將圖像嵌入另一個在運行時加載的swf中。

順便說一句,你需要加載100張圖片的原因是什麼?有沒有什麼理由不能在後臺加載它們更慢?

+0

加載100張圖像的原因是我正在嘗試創建照片鑲嵌。目前我已經編寫了代碼,每個圖像都以1加1的方式編寫。我想要做的是加速加載圖像1的相同過程1. – Sravan0313 2012-03-06 05:50:37

+0

哦!順便說一句,我忘了提及所有圖像來自服務器,我使用動態XML訪問。我對圖像沒有任何訪問權限來降低圖像的質量。 – Sravan0313 2012-03-06 05:52:40

+0

@ Sravan0313鑑於你提供的額外信息,我會看看@ ilollar的答案。使用一個好的加載管理器應該比一個接一個地加載圖像要快。我沒有親自使用過Greensock的'LoaderMax',但看起來它可能是一個不錯的選擇。 – 2012-03-06 18:57:19

0

這個問題沒有提供很多細節,所以這裏有一些通用的指導方針。

如果圖像是大JPEG,您可能會犧牲一些質量並重新壓縮圖像以使它們變小。

如果圖像是PNG並且代表例如遊戲中大量小的獨立圖塊,則可以嘗試將其中的許多圖塊組合成單個圖像,然後在加載圖像後將其解析爲客戶端上的圖像通過網絡。

1

幾點建議:

  1. 減少你的圖像(明顯,但最重要的)的文件大小。
  2. 不要立即運行所有請求 - 對圖像進行排隊並逐個加載它們(與最不相關的最相關)。
+0

我沒有立即運行所有的請求,我已經在加載過程中排隊了。但問題是我沒有訪問圖像,因爲它們在服務器上,我使用動態生成的XML訪問它們。 – Sravan0313 2012-03-06 05:55:49

+1

您是否能夠向我發送XML鏈接,以便我可以查看一些圖像並讓您知道我的想法?這聽起來像圖像太大了。您可以創建一個接受圖像鏈接的PHP腳本,然後在嘗試將它加載到Flash中之前使用GD庫進行壓縮。 – Marty 2012-03-06 06:01:48

0
  1. 實現下載隊列,例如簡單的裝載機 https://github.com/hydrotik/QueueLoader
  2. 不要,如果你有很多的小圖片的加載,目前每階段的 (你可以將它們在後臺)圖像
  3. 使用質地打包機
  4. 優化圖片質量 (即大小,類型)
  5. 使用緩存,例如本地共享對象 ,所以下一次你會得到你的照片最終發st從 LSO。
1

已經有很多好的意見了。但在這裏重新我的2美分。有一天我不得不載入大約1000張非常小的圖像。這花了太長時間,所以我使用了AS3庫FZip。像魅力一樣工作。

+0

這完全是我在找的東西。希望它能與Adobe AIR for mobile一起工作......有任何意見? – 2014-03-26 12:51:15

0

有沒有什麼辦法讓圖像縮略圖?如果是這樣,您可以在更大的版本加載時使用縮略圖。首先加載所有縮略圖(因爲它們的加載速度非常快),然後按優先順序加載較大版本。

雖然這聽起來好像對圖像沒有太多的控制。如果您在那裏沒有任何控制權,除了像其他人所建議的那樣使用加載優化器之外,您可以做的很少,以加速該過程。