1

我目前正在嘗試優化AS3/Flash網絡(瀏覽器)應用程序(FP11 +)。這是一個完整的瀏覽器窗口閃光燈應用程序,通過(Greensock's)SWFLoader遠程加載環境/背景圖形,並將它們添加爲位圖(下載時間不會引起問題)。使用AS3圖形api繪製其他小圖形,如按鈕,處理/加載動畫,窗口和UI元素。AS3 /閃存性能Spritesheets/Starling

我正在運行到FPS問題(目標是40),當加載額外的swfs用於在Flash應用程序中顯示(當加載的SWF動畫並下降到零時,FPS變化很大)。平均MB使用量在50-100MB之間(由FlashProfiler報告)。

我的問題是:爲遠程加載的圖形和/或繪製的圖形實現本地spritesheet的使用會導致顯着的性能提升?其次,由於Starling利用GPU進行處理和動畫,將應用程序轉換爲使用Starling會顯着提升性能嗎?或者,我堅持專注於最大化循環,列表/向量和數據使用的性能?對此,我已經閱讀了有關使用數組/列表與矢量以及針對特定於集合的函數(篩選器,映射等)的各種意見。任何直接比較這些技術的經驗也會有幫助。

謝謝!

+0

您能否提供鏈接供我們查看應用程序?除此之外,我沒有使用Flash Player應用程序中的精靈表單的經驗(我假設您指的是在單個圖像中將各個幀放在一起的圖像,減少動畫以將「窗口」移動到每個這樣的幀圖形上) 。像Starling這樣的GPU驅動框架能夠處理數以千計的物體而不會出汗,所以這可能會有所幫助。你*應該首先注意你的循環和數據使用模式 - 基本上,首先進行配置並重新考慮它。 – amn

+0

@amn:是的,你所描述的是我認爲的spritesheet。它們在遊戲開發中大量使用。我認爲這個鏈接不會再像現在描述的那樣描述它,但是在接下來的24-48小時內,這個鏈接將會激活:[link](http://awsm.playvue.com)。請參閱編輯add'l請求重新循環等。 – kfblake

回答

1

當你有很多位圖資源顯示在計算機或GPU上的設備上以提供加速時,Starling將會有相當大的幫助。如果您使用Starling,您將通過將各種圖像放置在精靈表中來減少GPU必須執行的繪圖調用次數,從而獲得更好的性能。

因此,大量的圖像以及大量的旋轉或縮放將充分利用GPU的優勢。如果你不斷重新繪製矢量圖形或其他畫布類型的操作,Starling可能無濟於事。對於不支持GPU的電腦也不會有幫助。

在您完成位圖與渲染決策後,任何實際AS3代碼的優化都應該使用探查器完成。