actionscript-3 - Flash优化困惑

标签 actionscript-3 optimization

我是 Actionscript (v3) 的新手,虽然已经有 20 年 C++ 经验,但我只是想了解一下我正在阅读的一些性能警告。

我查看了这个网站:

http://www.nbilyk.com/optimizing-actionscript-3

并且被“代码”部分吓死了,它说 Actionscript 在尝试在包中查找静态方法时必须进行动态查找。关键是,将 util 类型函数(通常是数学函数)作为静态函数放在自己的包中效率很低,因为每次调用它时都必须动态查找 namespace 和方法。

这是真的吗?它来自 C++,这完全不是我所期望的,它确实改变了我构建代码和库的方式。我想知道是否拥有一个 new() 一次的单例 util 库(包含作为普通公共(public)方法的方法)比将它们静态地放在另一个包中更好。

还有其他类似的明显问题吗?

干杯,

谢恩

最佳答案

是的,这是真的。从类外部调用静态函数很慢。我最近自己对此进行了测试,超过 10,000 次迭代,静态为 220 毫秒,而在实例上调用该函数为 160 毫秒。

其他提示是避免使用 Adob​​e 编译器。我最近开始使用 Haxe,它转换为 LLVM,然后转换为 ABC 代码(actionscript 字节代码)。 Haxe 利用了一些隐藏的操作码来处理内存(与 Alchemy 相同)。

说到炼金术,它将编译 C++ --> LLVM --> ABC。如果您有很多 C++ 库,可能对您有用。 (有人通过这种方式将 Doom、Hexen 和 Heritic 移植到 Flash)

编辑:对于任何与性能相关的事情http://lab.polygonal.de/http://blog.joa-ebert.com都是很好的起点。

关于actionscript-3 - Flash优化困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2046081/

相关文章:

ios - 如何在 Windows 上调试 iPad Flash 应用程序?

actionscript-3 - AS3 中的评估公式?

actionscript-3 - AS3/Flash/Flex中的枚举?

optimization - 优化Go文件读取程序

c++ - 继承类的标签调度

actionscript-3 - AS3 : ByteArray sound data loop smoothing issue

wordpress - CloudFront CDN(无 GZip)与 Web 服务器/本地(适用于所有 CSS/JS)

java - HashMap复合键-停止每次调用时创建键对象的解决方案

javascript - 针对给定问题的替代和优化解决方案

apache-flex - 不支持的采样 flex/actionscript