Stworzyłem mały projekt gry w HTML5 za pomocą silnika Phaser (wypróbowałem zarówno 1.1.5, jak i 1.1.6). Następnie, aby przenieść go na platformę mobilną, użyłem Phonegap / Cordova na Windows Phone 8, Android i iOS.
W mojej grze jest około 10 elementów, które się animują (przechodzenie od punktu a do punktu b i pewna rotacja w tym samym czasie). Na iOS i Windows Phone 8 nie napotkałem żadnego problemu.
Ale w Androidzie wydajność jest nie do przyjęcia. Z drugiej strony, jeśli uruchomię grę za pomocą przeglądarki urządzenia, będzie działać płynnie bez opóźnień. Ale skompilowany APK działa bardzo gwałtownie, a elementy poruszają się bardzo wolno i migocząco.
Sprawdziłem, czy flaga akceleracji sprzętowej Androida jest ustawiona na „prawda” w pliku manifestu. Próbowałem też zmienić to na fałsz, ale nie odzwierciedlało to żadnej zmiany w wydajności.
Sprawdziłem to samo na Androidzie 4.2 na urządzeniu Samsung S2 i na tej wydajności jest lepsza. Ale w Asus Nexus Tab 7 (z systemem Android 4.4) jest bardzo nierówny, podczas gdy system operacyjny i urządzenie są najnowsze. Sprawdzono także na innym urządzeniu z Androidem 4.3 (Samsung Galaxy Grand Duos) i na tym też wydajność wcale nie jest dobra.
W mojej grze próbowałem zarówno renderowania WebGL / Canvas (silnik Phaser korzysta z Pixi.js, który wraca do płótna 2d, jeśli WebGL nie jest obsługiwany), ale bez zmian. Podobnie z Sztalugami.
Jeśli ktoś napotkał podobny problem i może zasugerować dowolny sposób na uzyskanie wydajności natywnej. Sprawdziłem przykłady cocoonjs i chociaż wydają się gładkie i akceptowalne, nie mogę wybrać tej trasy.