【问题标题】:How can I speed up the compile / publish time of Flash IDE projects如何加快 Flash IDE 项目的编译/发布时间
【发布时间】:2008-11-24 14:23:23
【问题描述】:

我厌倦了等待 Flash 发布的时间。 .NET / VisualStudio 项目的速度要快 WAAAAY - 是否只编译已更改的类?

更新:Flash IDE 是否会在您每次发布时重新编码您的所有声音和图像?它不能将它们缓存在某个地方吗?

【问题讨论】:

    标签: actionscript-3 flash ide


    【解决方案1】:

    在 Flash CS4 中,禁用警告模式可将代码编译速度提高约 30%(仍然很慢)。严格模式也是,但我不确定到什么程度。

    对于库资源,通过将 JPEG 设置为“使用导入的 JPEG 数据”和将 PNG/GIF 设置为“Loosless PNG/GIF”来实现最佳速度。 至于声音,我不是 100% 确定,但我认为 ADPCM/单声道到立体声/5kHz/2bit 是最快的。 [Embed] 标签也可能有帮助(它不进行任何转换),但它包含相当多的 Flex 代码。

    作为提示,在 Flash CS4 中,您可以批量选择库中的资源并应用设置,因此您可以在开发时轻松设置最佳速度设置,然后更改它们以进行部署。

    【讨论】:

    • 哇,这会为我节省很多时间。我没有考虑嵌入字符的效果。天哪,这导致了十倍以上的加速。不只是我需要找到一种方法来追溯嵌入我的所有文本字段。尽管如此,许多痛苦在重要的地方被拯救了,发展!
    • 感谢您在发布设置中禁用警告的提示。这将我的发布时间加快了 80%。从 25 秒到 5 秒以下。 :)
    • 只是想添加。 [Embed] 标签会重新转换。我做了一个测试,将同一个 PNG 文件的两个版本嵌入到两个相同的 flash 应用程序中。一个版本是简单的 PNG,另一个是使用 PNG Compressor 压缩的。新的 PNG 缩小了大约 30%,但两个 SWF 文件大小相同,就好像我将同一个文件嵌入了两次一样。
    • 在一个包含数百个文件的大型项目中,关闭警告是我的应用程序需要 30 到 60 秒编译与 1 或 2 秒之间的区别。关闭警告。
    【解决方案2】:

    在文件 > 发布设置 > Actionscript 3.0 设置中取消选中“警告模式”。这有很大的不同。在最近的一个项目中,我将编译时间从 1 分 20 秒缩短到了 7 秒!是的,我也很惊讶。

    【讨论】:

    • 哇!这对我的项目产生了巨大的影响。现在编译需要几秒钟。在此之前,它花了将近一分钟。非常感谢您的精彩提示!:)
    【解决方案3】:

    对我来说,事实证明我删除了文本字段上的字符过滤器。这似乎无害,但实际上它必须嵌入它可以嵌入的每一个压裂字形,这导致了一个巨大的 swf 文件,需要永远编译!无论如何,一定要检查一下——我认为很多人很容易忽略这一点。

    【讨论】:

      【解决方案4】:

      您可以尝试将应用程序拆分为单独的 .swf 文件,然后从主电影中加载它们。

      另外,看看您的环境可能是值得的。也许您的机器内存不足,您正在使用网络驱动器,或者您的硬盘已加密。

      如果应用程序变得如此庞大,Flash 真的是正确的技术吗?

      【讨论】:

        【解决方案5】:

        编译器在 Flash IDE 中速度很慢。如果您在库中有很多必须重新导出的图像,我可以理解这种缓慢,但是编译器在仅编译代码时也莫名其妙地慢。

        例如,我有一个超级基本的 Away3d 场景,需要 5 秒来编译(没有库资源)。完全相同的代码在不到一秒的时间内在 Flex 中编译。我不知道这两个编译器有什么不同,但是在 Flash IDE 中执行任何具有大量代码库的项目都是非常痛苦的。随着项目的发展,您将不得不等待越来越长的时间。

        如果您正在执行 3D 项目或需要大量代码编译的项目,我建议您在 Flex/Flash Builder 中执行仅 Actionscript 的项目。也许 CS5 会有更好的编译器...

        【讨论】:

          【解决方案6】:

          您可能需要检查您的字符嵌入——如果您不小心点击了嵌入所有字符,它可能会嵌入 1000 多个字符,这会显着降低您的发布速度

          【讨论】:

            【解决方案7】:

            这完全取决于您的项目。我知道一些动画师使用 Flash 发布广播内容,通常需要很长时间才能发布。他们无处可逃。否则,如果发布将在网络上查看的 SWF 需要数小时,那么您可能不会以正确的方式处理事情。

            此外,嵌入式视频和嵌入式声音是立即增加编译 SWF 所需时间的几个明显罪魁祸首。 IDE 必须压缩输出的项目越多(这也包括图像),编译所需的时间就越长。

            【讨论】:

              【解决方案8】:

              您无法让 Flash IDE 缓存嵌入式媒体(但如果您导入 PNG/GIF 并将压缩在库中设置为无损,则图像不会被重新编码)。但是,如果它是一个网络项目,那么无论如何您都应该从外部文件加载媒体,因此您不必在用户屏幕上显示任何内容之前预加载所有数据。您可以直接加载(甚至流式传输)媒体文件,也可以将它们嵌入到单独的 SWF 中并从那里加载,但我不推荐后者,因为它会增加不必要的复杂性。

              【讨论】:

                【解决方案9】:

                当编译太慢时,我通常会剥离库 - 通过 URLRequest 读取加载图像(png、jpg)和声音。

                通常真正减慢编译器速度的是导入 illustrator (ai) 文件。

                【讨论】:

                  【解决方案10】:

                  在发布设置 > Flash > as3 中禁用警告

                  【讨论】:

                    【解决方案11】:

                    如果您甚至愿意更改语言,您可以使用 Haxe。它编译为 SWF,并且编译速度非常快。在您有长达一小时的编译时间时更改为其他语言可能不值得,但在您开始下一个大型项目时请考虑一下。

                    【讨论】:

                      猜你喜欢
                      • 2011-05-20
                      • 2016-09-16
                      • 1970-01-01
                      • 2012-12-07
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多