Производителност на Java в Air Native Extension, как да оптимизирам?

Имам симулация с 30 самолета, която искам да пусна на телефон с Android.

Кодирах цялото нещо в AS3, но реших, че ще има повишаване на производителността, ако използвам Java като собствено разширение.

Симулацията е библиотека от 30 единици. Симулацията изчислява разстоянието и ротацията между всички единици. Това е около 870 итерации с много изчисления на разстояние и ротация.

Моят ANE на Java работи около 50 пъти по-бавно от моята AS3 версия.

Проблемът изглежда е извикването на setObjectAt() на FREArray няколко пъти. Предполагам, че това преобразуване на Java в AS3 е бавно. Има ли начин за оптимизиране на връщането на променливите от Java към AS3?


person nizzle    schedule 01.03.2013    source източник


Отговори (1)


Предполагам, че производителността на AS3 не е толкова различна от стандартната производителност на Java, когато се използва като собствено разширение.

Въпреки това, благодарение на Android NDK, който ми позволи да възстановя библиотеката в C++, не съм в увеличение на производителността от около 20 пъти.

Така че, ако търсите това предимство в производителността на Android от AS3: Използвайте NDK.

person nizzle    schedule 03.03.2013