簡體   English   中英

Flash Player渲染動畫太慢-是否可以加速動畫?

[英]Flash player renders animation too slow - Is there a way to accelerate it?

我正在制作一個項目(在Flash CS5中)-我使用midi文件可視化音樂-這意味着我在舞台上有很多簡單的動畫片段(矩形),並且它們具有不同的z索引,不透明度,高度,寬度,模糊度等。 。

問題是-渲染太慢了! 當閃光燈很難渲染時,我可以看到幀速率從30 F / S到10 F甚至是5 F / S。 現在,我的動畫還沒那么復雜-我已經在網絡或游戲中看到了很棒的東西-我只嘗試移動簡單的形狀。

由於我不知道該怎么辦-我的問題是是否有辦法:

  1. 以某種方式使用計算機圖形硬件? 使用openGL引擎? 我以為,如果我將其連接到功能強大的引擎上,它將起作用嗎?

  2. 有沒有一種方法可以逐幀記錄它? 我不必實時查看它(盡管會很好)-我可以妥協將其制作為.mov文件。 但我發現將其導出為電影無濟於事(它會像實時播放一樣對其進行記錄)。 我嘗試了“手動”減慢每個動畫片段的速度的方法-但是由於一切都變慢了。.現在,屏幕上有更多的影片剪輯可以渲染,並且變得更加慢。

誰能想到解決方案? 難道我做錯了什么? (我真的不認為我把東西渲染得太復雜以至於太慢了)

您可以通過Flash插件的標志來使用硬件加速: http : //www.adobe.com/devnet/flashplayer/articles/fplayer10_1_hardware_acceleration.html但是,它並非在所有平台上都起作用,它僅適用於Windows :(此外,取決於動畫的組成,您將獲得的性能改進(如果有的話)在很大程度上是可變的。

逐幀記錄素材是可行的,但很煩人。 您可以使用PNGEncoder或JPEGEncoder類並將它們寫入文件。 http://blog.everythingflex.com/2008/10/01/filereferencesave-in-flash-player-10/如果將其放在onEnterFrame的處理程序中,它將每次將幀保存到硬盤驅動器。 然后,您可以使用標准編碼器(例如mencoder)從圖像中創建電影。

現在我的建議是,嘗試對您的瑞士法郎進行分析,並找出造成這種情況的原因。 可能不是渲染,而是您的代碼。 如果確實是渲染,請嘗試找出它為什么這么慢的原因-例如,您要渲染成千上萬啟用Alpha的影片剪輯,而您要在每一幀中進行更改。 Flash Player對於它可以緩存的內容以及所有內容非常聰明,但是您必須給它一個機會。 如果您的場景並不復雜並且仍然很慢,則總是表示您做錯了什么。 在沒有Alpha的情況下,並使用繪制方法進行實驗,而不要使用數百個影片剪輯。

你提到模糊 這將大大降低動畫的速度。 對於需要動畫處理的對象,幾乎不建議使用任何濾鏡-至少不要同時濾鏡。 如果要執行此操作,則至少將BlurFilter應用於容器而不是單個子容器。

還有其他執行效果更好的方法,可以將濾鏡應用於許多對象,例如將元素繪制到BitmapData上,然后使用BitmapData.applyFilter()BitmapData應用於濾鏡

刪除所有過濾器,看看是否有幫助。 如果沒有,請提供更多代碼/信息,我將看一看:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM