【发布时间】:2008-11-24 14:23:23
【问题描述】:
我厌倦了等待 Flash 发布的时间。 .NET / VisualStudio 项目的速度要快 WAAAAY - 是否只编译已更改的类?
更新:Flash IDE 是否会在您每次发布时重新编码您的所有声音和图像?它不能将它们缓存在某个地方吗?
【问题讨论】:
标签: actionscript-3 flash ide
我厌倦了等待 Flash 发布的时间。 .NET / VisualStudio 项目的速度要快 WAAAAY - 是否只编译已更改的类?
更新:Flash IDE 是否会在您每次发布时重新编码您的所有声音和图像?它不能将它们缓存在某个地方吗?
【问题讨论】:
标签: actionscript-3 flash ide
在 Flash CS4 中,禁用警告模式可将代码编译速度提高约 30%(仍然很慢)。严格模式也是,但我不确定到什么程度。
对于库资源,通过将 JPEG 设置为“使用导入的 JPEG 数据”和将 PNG/GIF 设置为“Loosless PNG/GIF”来实现最佳速度。 至于声音,我不是 100% 确定,但我认为 ADPCM/单声道到立体声/5kHz/2bit 是最快的。 [Embed] 标签也可能有帮助(它不进行任何转换),但它包含相当多的 Flex 代码。
作为提示,在 Flash CS4 中,您可以批量选择库中的资源并应用设置,因此您可以在开发时轻松设置最佳速度设置,然后更改它们以进行部署。
【讨论】:
在文件 > 发布设置 > Actionscript 3.0 设置中取消选中“警告模式”。这有很大的不同。在最近的一个项目中,我将编译时间从 1 分 20 秒缩短到了 7 秒!是的,我也很惊讶。
【讨论】:
对我来说,事实证明我删除了文本字段上的字符过滤器。这似乎无害,但实际上它必须嵌入它可以嵌入的每一个压裂字形,这导致了一个巨大的 swf 文件,需要永远编译!无论如何,一定要检查一下——我认为很多人很容易忽略这一点。
【讨论】:
您可以尝试将应用程序拆分为单独的 .swf 文件,然后从主电影中加载它们。
另外,看看您的环境可能是值得的。也许您的机器内存不足,您正在使用网络驱动器,或者您的硬盘已加密。
如果应用程序变得如此庞大,Flash 真的是正确的技术吗?
【讨论】:
编译器在 Flash IDE 中速度很慢。如果您在库中有很多必须重新导出的图像,我可以理解这种缓慢,但是编译器在仅编译代码时也莫名其妙地慢。
例如,我有一个超级基本的 Away3d 场景,需要 5 秒来编译(没有库资源)。完全相同的代码在不到一秒的时间内在 Flex 中编译。我不知道这两个编译器有什么不同,但是在 Flash IDE 中执行任何具有大量代码库的项目都是非常痛苦的。随着项目的发展,您将不得不等待越来越长的时间。
如果您正在执行 3D 项目或需要大量代码编译的项目,我建议您在 Flex/Flash Builder 中执行仅 Actionscript 的项目。也许 CS5 会有更好的编译器...
【讨论】:
您可能需要检查您的字符嵌入——如果您不小心点击了嵌入所有字符,它可能会嵌入 1000 多个字符,这会显着降低您的发布速度
【讨论】:
这完全取决于您的项目。我知道一些动画师使用 Flash 发布广播内容,通常需要很长时间才能发布。他们无处可逃。否则,如果发布将在网络上查看的 SWF 需要数小时,那么您可能不会以正确的方式处理事情。
此外,嵌入式视频和嵌入式声音是立即增加编译 SWF 所需时间的几个明显罪魁祸首。 IDE 必须压缩输出的项目越多(这也包括图像),编译所需的时间就越长。
【讨论】:
您无法让 Flash IDE 缓存嵌入式媒体(但如果您导入 PNG/GIF 并将压缩在库中设置为无损,则图像不会被重新编码)。但是,如果它是一个网络项目,那么无论如何您都应该从外部文件加载媒体,因此您不必在用户屏幕上显示任何内容之前预加载所有数据。您可以直接加载(甚至流式传输)媒体文件,也可以将它们嵌入到单独的 SWF 中并从那里加载,但我不推荐后者,因为它会增加不必要的复杂性。
【讨论】:
当编译太慢时,我通常会剥离库 - 通过 URLRequest 读取加载图像(png、jpg)和声音。
通常真正减慢编译器速度的是导入 illustrator (ai) 文件。
【讨论】:
在发布设置 > Flash > as3 中禁用警告
【讨论】:
如果您甚至愿意更改语言,您可以使用 Haxe。它编译为 SWF,并且编译速度非常快。在您有长达一小时的编译时间时更改为其他语言可能不值得,但在您开始下一个大型项目时请考虑一下。
【讨论】: