2012-10-19 50 views
1

我需要運行Flash動畫(swf文件)大約12小時。這是一個展覽。長時間運行Flash動畫/應用程序的最有效方式

由於我的控制林外約束從一臺筆記本電腦(目前運行Windows Vista這個(!),但我可以重新安裝所有,但MAC OS的到它,通過VGA,以1024x768的分辨率。

有誰有什麼previus經驗的最佳做法/建議呢?

將任何操作系統更好地exquiped,我更好的只有一個flash player的comandline linux嗎?會有什麼好處將swf轉換爲本地代碼並運行它?

你能想到的任何缺陷?

任何建議大大appriciated。

注:我看到HVE但是我正在尋找一個範圍廣泛的議題

如果有人感覺另一個「溢出」的最佳做法和技巧等問題Running the Flash Player over long time period會得到我更好的建議,請讓我知道

感謝您的任何建議

安德魯

編輯:

剛剛來到AC ross: http://www.adobe.com/devnet/flash/articles/efficiency-tips.html 這裏有一些關於優化文件內容的好的提示。

+2

好吧,我可以告訴你,Windows 7的運行幾乎比Vista更好,你應該運行它在一個獨立的球員,而不是一些互聯網瀏覽器,但我相信你已經知道這一點。 – RustyH

+0

我認爲我的需要他們是非常接近根據基準。 http://www.tomshardware.com/reviews/windows-7-performance,2476-6.html但是我認爲Vista真的很糟糕,隨着時間的推移堵塞和緩慢 – atmd

回答

3

只是一些一般提示:

  • 確保您使用發佈版的獨立Flash Player(Debug版本比較慢,佔用更多的內存)
  • 務必移除事件偵聽器,當你的不再需要它們,只是爲了安全起見,在添加事件偵聽器時使用弱引用。
  • 如果要將.swf文件加載到主swf中,請確保在要卸載.swf而不是Loader.unload()時調用Loader.unloadAndStop()
  • 在所有不斷創建新實例的類中,如果確保每個實例都佔用大量內存,則可以更快地發現內存泄漏。只需在每個類的頂部臨時添加一個大的bitmapData(private var _debugDummy:BitmapData = new BitmapData(2000,2000);)。然後你可以很快觀察內存是否持續增加。 無論你做什麼,都不要忘記在完成測試後刪除這些假人!

在這種情況下的具體建議:

  • 建立以更快的速度運行基於時間的邏輯,這樣你就可以在更短的時間跨度中模擬「12小時運行」的能力。這會使找到泄漏更容易。
  • 因爲這是一個展覽,所以如果設置計算機在閃存崩潰時再次啓動閃存(或者如果內存不足,則寧靜地退出,這是它意外退出的最常見原因)可能是一個好主意, 。我在我工作的公司所做的展覽是從Flash播放器的發佈版本創建投影機文件(.exe)。然後,我們在機器上運行一個小型服務(內置內置),該服務不斷檢查投影機.exe是否在運行。如果不是,它會重新啓動它。正如我所說的那樣,這項服務是內部建立的,但有可能你可以找到類似的東西。另外,在計算機啓動時設置計算機以啓動閃光燈可能是一個好主意,以防電源丟失和計算機重新啓動。如果這是一個展覽,你不能夠偏執足夠:-)
+0

感謝您的這一點,一些好主意。 12hr模擬尤其是id沒有想到的東西。 – atmd

3

在獨立播放器中運行它,可以提高性能並減少出錯機會。

如果它只是一個時間軸動畫,或者不使用ActionScript的東西,它應該被編譯得足夠好以至於可以讓它運行。

如果它裏面有任何代碼,你需要確保它沒有任何泄漏,並且實際檢查--12小時肯定足夠長時間以顯着泄漏出現!

你運行的是什麼類型的東西?

+0

嗨,它將主要是一個環狀動畫背景(沒什麼太戲劇性的)是(尚未設計的)在前景中的移動,它將基於時間(小時觸發等(AS3))。內存泄漏是目前我最關心的問題。 – atmd

+0

你可以發佈一些你關心的代碼嗎?我會看看我能否幫助你最大限度地降低風險。 – MickMalone1983

+0

謝謝,但最終產品還沒有設計,所以我沒有任何代碼,它將有時間控制的元素(雖然我會倒計時/使用時間戳,因爲互聯網/系統時間不太可能可用或可靠) – atmd

相關問題