我在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