最有效的方式来运行Flash动画/应用程序很长一段时间

时间:2012-10-19 15:28:24

标签: performance flash animation adobe

我需要运行一个flash动画,(swf文件)大约12个小时。这是一个展览。

由于我的控制之外的限制我从笔记本电脑(目前是windows vista(!))运行它,但我可以通过VGA以1024x768的分辨率重新安装除了mac os之外的所有内容。

有没有人对此有最佳实践/建议的任何常见经验?

任何操作系统都可以更好地解决,我是否更好地使用只运行闪存播放器的comandline linux?是否有任何好处将swf转换为本机代码并运行它?

你能想到的任何陷阱?

任何建议都非常适合。

N.b我见过问题Running the Flash Player over long time period但是我正在寻找关于广泛主题的最佳做法和提示等

如果有人觉得另一个'溢出'会给我更好的建议,请告诉我

感谢任何建议

安德鲁

编辑:

刚碰到这个: http://www.adobe.com/devnet/flash/articles/efficiency-tips.html 这里有一些关于优化文件内容的好建议。

2 个答案:

答案 0 :(得分:3)

在独立播放器中运行它,以提高性能并减少出错的可能性。

如果它只是一个时间轴动画,或不使用ActionScript的东西,它应该编译得足够好,你可以让它运行。

如果它中有任何代码,你需要确保其中没有任何泄漏,并且实际检查一下 - 12小时肯定足够长,以便显着泄漏!

你跑了什么东西?

答案 1 :(得分:3)

一些一般提示:

  • 确保使用独立Flash Player的发布版本(调试版本较慢,占用更多内存)
  • 当您不再需要它们时,请始终删除事件侦听器,并且只是为了安全起见,在添加事件侦听器时使用弱引用。
  • 如果您要将.swf文件加载到主swf中,请确保在要卸载.swf而不是Loader.unload()时调用Loader.unloadAndStop()
  • 在所有类中,您不断创建新实例,如果确保每个实例占用大量内存,则可以更快地发现内存泄漏。只需在每个类的顶部临时添加一个大的bitmapData(私有var _debugDummy:BitmapData = new BitmapData(2000,2000);)。然后你可以很快地观察记忆是否会不断增加。 无论你做什么,都不要忘记在完成测试后删除这些假人!

在这种情况下的具体提示:

  • 能够以更快的速度运行基于时间的逻辑,因此您可以在更短的时间内模拟“12h运行”。这将使泄漏更加容易。
  • 由于它是一个展览,如果它崩溃(或者如果内存耗尽,这是它出乎意料地退出的最常见原因,则默默地退出)可能是设置计算机再次启动闪存的一个好主意。 。我们在公司工作的展览所做的是从Flash播放器的发布版本创建一个投影文件(.exe)。然后我们在机器上运行一个小服务(内置),不断检查投影机.exe是否正在运行。如果不是,它会再次启动它。正如我所说,该服务是内部构建的,但您可以找到类似的东西。此外,在计算机启动时将计算机设置为启动闪存可能是个好主意,以防电源中断并重新启动计算机。如果这是一个展览,你就不能充满偏执: - )