1

我有 30 架飞机的模拟器,我想在 Android 手机上运行。

我在 AS3 中编写了整个代码,但我认为如果我将 Java 用作本机扩展,性能会有所提升。

模拟是一个包含 30 个单元的库。模拟计算所有单元之间的距离和旋转。这大约是 870 次迭代,其中包含许多距离和旋转计算。

我在 Java 上的 ANE 运行速度比我的 AS3 版本慢大约 50 倍。

问题似乎是多次在 FREArray 上调用 setObjectAt()。我猜这种从 Java 到 AS3 的转换很慢。有没有办法优化将变量从 Java 恢复到 AS3?

4

1 回答 1

1

我猜想 AS3 性能与标准 Java 性能没有太大区别,当用作本机扩展时。

但是,感谢 Android NDK,它允许我在 C++ 中重建库,我的性能并没有提高大约 20 倍。

因此,如果您正在寻找 AS3 在 Android 上的性能优势:使用 NDK。

于 2013-03-03T12:38:57.547 回答