我在Mac上運行Flex Builder 3,隨着項目的增長 - 編譯時間越來越長,越來越長。我正在使用一些SWC,並且有相當數量的代碼,但如果它每天都不需要幾分鐘就可以構建和崩潰?任何關於加快Flex Builder 3編譯時間的建議?
回答
除了已經提到的建議之外,關閉您打開的所有未使用的項目。
在導航器視圖中點擊項目,然後選擇「關閉不相關的項目」。
取決於您打開了多少個項目,這可以顯着提高編譯時間以及所有性能。
麥克風室
mesh @ adobe。com
您可能想要了解Flex SDK中找到的命令行編譯器mxmlc
。我記得,Flex Builder 3似乎隱藏了所有的編譯器細節,但也許有一些可以附加的參數可以幫助您加快編譯速度。
例如,您可能想要設置optimize=false
這將跳過優化字節碼的步驟(可能會縮短編譯時間)?這當然是以實際應用程序的性能和文件大小爲代價的。
有關mxmlc
的更多文檔,請訪問:http://livedocs.adobe.com/flex/3/html/compilers_13.html。
祝你好運!
編譯時間慢通常是由大量嵌入式資源([Embed]或@Embed)引起的。
選項2這篇文章可以幫助你:http://www.rogue-development.com/blog2/2007/11/slow-flex-builder-compile-and-refresh-solution-modules/]
有沒有必要使用mxmlc
在命令行上,只是爲了能夠添加編譯器標誌。右鍵單擊Flex Navigator中的項目,在出現的對話框中選擇Properties,然後選擇Flex Compiler。你可以添加任何額外的編譯器標誌。
不確定有很多事情要做,更多的代碼意味着更多的編譯時間,這就是它的方式。如果你沒有做一個發佈版本(或者在Flex Builder中調用的任何版本),那麼你的編譯器設置不太可能包含optimize
。更好的選擇是-incremental
(它只重新編譯已更改的部分)和-keep-generated-actionscript
(這會停止編譯器刪除從應用程序的MXML文件中生成的ActionScript文件)。
與Flex Builder相比,我非常喜歡在命令行上使用mxmlc
(通過Ant)。雖然我認爲後者編寫得並不慢,但在各方面都感覺更加緩慢。使用Ant還可以在構建和條件編譯時執行除編譯以外的任何操作(如果源代碼實際已更改,則只編譯SWF或SWC)。查看a blog post of mine瞭解更多信息。
你可以嘗試的是Flex Compiler Shell,另一種命令行工具,可以加快速度。基本上它會盡可能地在內存之間保留內存,所以不需要等待JVM啓動(Flex編譯器是Java應用程序)。另一方面,這也是Flex Builder所做的。
轉到項目 - >屬性 - > Flex應用程序。列出的所有應用程序都會每次編譯(即使您有默認設置)。如果你刪除了一切,但默認(不用擔心,它不會刪除實際的文件),它只編譯默認的應用程序。這導致了我的顯着加速。如果您更改默認應用程序,則會將其添加到Flex應用程序列表中 - 從而增加編譯時間。你需要維護這個列表以獲得最快的編譯。
如果可能,您希望計算機上至少有4個演出,並確保覆蓋eclipse/flexbuilder爲應用程序提供的默認內存設置。
如果您不確定如何操作,可以在/ Applications中找到flexbuilder應用程序,右鍵單擊並選擇「顯示包裝內容」。然後進入內容文件並編輯eclipse.ini文件。編輯該文件具有至少內存設置:
-vmargs -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=128m
這也是值得進入月食/彈性生成的喜好和檢查下Windows的>首選項「顯示堆狀態」對話框>常規(這是與FB插件日食,我假設它也有獨立的FB)。
這顯示了窗口右下方的當前內存並且有一個小垃圾圖標,因此您可以強制進行垃圾回收。
我也建議在文件更改時關閉項目的自動構建(可以使用cmd-B強制構建)。
我們有一個很大的項目,有很多模塊文件,FlexBuilder 3的性能在這些步驟中體現得很好。
通常情況下,第一次構建時間最長,然後在此之後很快。這是使用Vista x64 w/core 2二重奏。
否則,我幾乎可以肯定一個英特爾酷睿i7至尊版965 3.2GHz的處理器升級將很好地加速你的Flex建設了.. :) :) :)
我不使用Flex Builder中,但我使用Flex SDK編譯器每天和我是在浪費等待MXMLC編譯大量的時間來完成其工作,直到我發現Flex編譯器外殼:
http://blog.zarate.tv/2008/12/07/theres-something-called-flex-compiler-shell/
雖然在理論上Flex Builder中已經使用此優化,可能是值得檢查。
對不起,只是意識到Theo鏈接到它:| – 2009-01-16 08:08:39
我用工作區創建了RAM磁盤,並且它的編譯時間縮短了10%。不多,但有些事。
我總是禁用Flex的「自動編譯」。它編譯得太多,花費時間太長,所以打斷了我的工作。
如果您有許多不同的項目文件,並且需要重新編譯所有這些文件,但您也打開了其他項目並且不想關閉它們,則始終在進行構建,您還可以使用Eclipse工作集。
不幸的是,默認的Flex Navigator不支持工作集。但您可以打開包資源管理器與窗口/顯示視圖/ ...。點擊右上方的小白色向下箭頭,並選擇頂級元素:工作集。然後您可以添加工作集(也稱爲項目組)。每個項目至少需要一個工作集(「其他項目」是默認的),但可以分成幾個。
現在用項目/構建工作集/ ...您可以指示Eclipse構建此工作集中的所有項目,但其他項目均不包含。如果你懷疑你的項目引用有時會被破壞,這是特別有用的,否則構建'最高'的項目應該會自動觸發後續的構建。
首先,評論上的一些反應:
沒有必要在Flex Builder中明確指定-incremental,因爲它默認使用增量編譯。
-keep-generated-actionscript是一個性能殺手,因爲它指示編譯器在編譯過程中寫出爲MXML組件生成的AS3代碼。編譯過程中的文件I/O意味着不必要的暫停和較低的CPU利用率。
-optimize減慢鏈接速度,因爲它會指示鏈接器生成較小的SWF。請注意,-optimize = true | false對構建SWC沒有任何影響,因爲SWC是庫並且必須未優化。
我很少搞砸JVM設置,因爲JVM知道它的工作,並且在運行時很好地調整自己。大多數人通過設置各種GC調整參數使情況變得更糟。這就是說,有3個設置大多數人理解和正確爲自己使用設置:
-Xmx(最大堆大小)
-server或-client(HotSpot的服務器或客戶端VM)
-XX:+ UseSerialGC或-XX:+ UseParallelGC(或其他非串行GC)
- 運行Flex編譯器時,服務器始終優於-client約30%。 -XX:+ UseParallelGC打開並行垃圾收集器。是多核計算機的理想選擇,當計算機仍然有CPU週期可用時。
您可能還想看看HellFire編譯器守護進程(http://bytecode-workshop.com/)。它使用多個處理器內核來同時編譯多個Flex應用程序。你也可以通過套接字在第二臺機器上運行編譯器(假設你的第二臺機器具有更快的CPU和更多的內存)。
在我看來,使用比庫更多的模塊和使用HFCD。
希望這會有所幫助。
- 元素
正如Clement所說,使用HellFire編譯器守護程序。如果你的機器上有多個模塊和更多的CPU核心,它可以並行編譯它們。另一種選擇是使用提供相同功能的IntelliJ(商業版)。
SDK 4.x.x引入了一個愚蠢的bug(請參閱Adobe bugsystem,問題FB-27440),這會導致SVN或CVS元數據項目的編譯速度比SDK 3.x.x慢得多。關於如何修復,請參閱here。
您可以使用工作集編譯只是一組你的組件是要更改的應用程序的一部分,而不是整個項目
http://livedocs.adobe.com/flex/3/html/help.html?content=build_6.html
- 1. 如何加快FDT/Flex Builder中的Ant編譯
- 2. 通過編譯加快編譯時間
- 3. 如何加快Flex的編譯?
- 4. 從Flex Build移植到Flash Builder時編譯時間跳轉
- 5. 當使用flex builder和flex sdk編譯項目時的差異
- 6. 由Flex Builder 3編譯的應用程序不會跟蹤
- 7. Flex Builder 3或Flash Builder 4?
- 8. flex builder 3編譯器不會顯示錯誤或編譯特定頁面
- 9. 需要關於如何加快這一位代碼的建議
- 10. 關於爲Xscale ARM構建交叉編譯器的建議?
- 11. 的Flex Builder 3不可關閉編輯器窗口
- 12. 關於繪製「隨機間隔」圖表的任何建議?
- 13. 從命令行編譯Flex Builder項目
- 14. 將新的Flex SDK添加到Flex Builder 3 - 如何?
- 15. 關於Rails 3的建議 - 路由 - Restfull
- 16. 怎樣才能在Flash Builder的編譯時間?
- 17. 任何關於繪製時間堆積條形圖插件的建議?
- 18. 關於使用.NET 3.0語法和編譯2.0的建議請
- 19. 在linux x86_64上編譯llvm:關於優化標誌的建議?
- 20. 關於加快邊緣選擇的建議
- 21. Flex Builder 3:語法着色,添加關鍵字
- 22. Flex Builder 3和Flash Builder兼容性
- 23. 如何將Maven依賴關係添加到Flex Builder 3中的Flex構建路徑中?
- 24. 適用於Android的Flash/Flex編譯器
- 25. 關於在.NET中進行翻譯/本地化的工具的任何建議?
- 26. 關於編寫代碼的C++建議
- 27. 爲Flex Builder 3升級SDK
- 28. Flex Builder 3代碼提示
- 29. 編譯Flex 3應用程序時無法訪問SOAP服務
- 30. 在flex builder中使用flex 4 sdk 3
可悲的是,即使是在我8核心Mac Pro W/12 GB內存,Flex構建需要一小段代碼。我浪費了很多時間等待Flex構建。 我的雙核Xeon Linux機器上的mxmlc沒有太多,如果有更快。 「關閉不相關的項目」對我來說並不重要;我只打開一個項目。 – 2008-11-23 01:39:53
我們有一個非常大的Flash Builder 4項目,即使在最快的機器上編譯時間仍然是個問題。問題在於,最小的變化,甚至是私有函數的內部變化,似乎都會導致Flash Builder/Flex完全不必要地重建世界。也許他們計劃將來的版本緩存等! – 2010-06-09 08:17:10