2012-01-14 32 views
2

我最近選擇切換到一種方法,其中我的庫完全是空的,並且通過嵌入標記嵌入了我需要的每個圖像/動畫/聲音,因爲這會讓我的生活更輕鬆。在我的圖書館中有很多符號會導致CS5運行非常緩慢,這真的讓我很煩惱。哪個具有更好的性能,庫中的符號或這些符號的導出圖像?

這對製作電腦遊戲來說是完全正常的,但我目前正在研究我的第一款iPhone遊戲,並且我注意到遊戲在幾秒鐘後開始落後。這不是一個複雜的遊戲,但它確實有很多帶有透明度的圖像。所以我想知道如果我忘記了空的庫方法會運行得更快。我真的不知道這會如何影響性能,但這是我第一次擔心性能。但是我意識到其他影響性能的事情,比如透明度和對象池(請閱讀這篇文章)。

此外,即使它是一個更強大的設備,完全相同的遊戲在iPad上運行更糟糕?

回答

1

在庫中有圖像意味着Flash在導出SWF/SWC時會壓縮它們。這可能會也可能不會是理想的。

使用[Embed]標籤意味着您可以使用類似Photoshop的東西自己壓縮它們並完全控制輸出。

你說你的「遊戲在幾秒鐘後開始落後」。這似乎是一個內存/設計問題,而不是您的圖像是通過代碼嵌入還是作爲庫符號嵌入。做一些分析,看看你花了多少時間,並檢查你沒有內存泄漏。

1

使用庫和[Embed]元標記都會影響IDE的性能,但是它們在編譯時進行評估並生成幾乎相同的字節代碼。

遊戲在運行時的性能是一個完全不同的問題,儘管您可能能夠通過重新思考哪些圖像嵌入爲位圖以及將哪些圖像用作矢量精靈,如何組織更大的圖像(例如創建一個基本的玩家精靈,通過構圖添加個人外觀,而不是讓每個玩家的變體變成一個全尺寸的動畫),並試圖減少透明度和alpha蒙版的使用。

有許多關於提高動作腳本性能的好文章,分別是on the AVM2on iOS devices。嘗試搜索「ActionScript優化運行時」 - 它應該產生大量的結果。