Lors de la conférence inaugurale de la Google I/O 2014, nous en avons appris un peu plus sur les évolutions qu’il fallait attendre du côté des performances sur Android. Google a officialisé la suppression de la machine virtuelle Dalvik pour la remplacer par ART avec, à la clef, de meilleures performances et une autonomie améliorée. Android L sera pleinement compatible avec les puces 64 bits et des améliorations graphiques sont à attendre, pour des jeux plus performants et davantage réalistes.

64 bits Android L

C’est officiel, et comme on pouvait s’y attendre, Android L, la future version du système d’exploitation de Google à destination des terminaux mobiles, supportera pleinement les processeurs 64 bits à l’image des Intel Atom Moorefield Z3560 et Z3580 que l’on retrouve déjà dans les Asus MemoPad et FonePad qui ont été annoncé lors du Computex. Du côté de Qualcomm, il faudra attendre les Snapdragon 410, 610, 615 et 810 qui troqueront les cœurs Krait contre des Cortex-A53 et A57. On retrouvera également les Cortex-A53 chez MediaTek avec les MT6732 et MT6752. Tous ces SoC (à l’exception de ceux d’Intel) ne sont pas pour le moment disponibles pour les constructeurs et on devrait les retrouver dans les produits mobiles d’ici la fin de l’année. Samsung devrait finalement être le premier à intégrer des cœurs Cortex 64 bits puisque le Galaxy Note 4 est attendu pour le mois de septembre avec son Exynos 5433.

Les apports du 64 bits

Le jeu d’instruction 64 bits apportera de nombreux avantages. Tout d’abord, il sera possible d’adresser plus de mémoire vive pour une seule application (plus de 4 Go). Soyons honnêtes, pour le moment, cet argument n’est pas intéressant pour le grand public. En revanche, la taille des registres mémoires augmente, ce qui offre de meilleures performances pour une même application qui tournerait en 64 bits par rapport à son homologue en 32 bits.

Comme le rappelait Luc-Aurélien dans son dossier dédié au sujet, les prochaines architectures 64 bits (comme les cœurs Cortex-A53 et A57) apporteront également des améliorations architecturales qui permettront un bond en avant des performances même pour des applications 32 bits. On peut déjà avoir un aperçu des apports du jeu d’instruction 64 bits puisqu’Anandtech avait réalisé une comparaison d’iOS en version 32 bits et 64 bits avec l’iPhone 5S. Les résultats ne seront bien sûr pas les mêmes sous Android mais donnent déjà un aperçu d’un passage d’un OS 32 bits à un OS 64 bits avec un processeur 64 bits. Ce qui autorisera de meilleures performances, quel que soit le processeur, c’est la nouvelle machine virtuelle ART qui remplace Dalvik.

32 bits vs 64 bits Apple

ART : pour de meilleures performances

ART est la nouvelle machine virtuelle d’Android L, qui était déjà présente dans Android KitKat mais seulement en version d’essai pour les développeurs. L’enjeu est important puisque c’est la machine virtuelle qui fait tourner les applications au sein d’Android. Dalvik avait un fonctionnement JIT (just-in-time) puisque les applications étaient compilées à la volée, à chaque lancement et à chaque action.

Avec ART, le fonctionnement est désormais AOT (ahead-of-time) et la compilation se fait une bonne fois pour toutes, lors de l’installation de l’application. Il semblerait toutefois que le fonctionnement JIT soit également possible. L’installation des applications est donc plus longue mais lors du lancement de l’application, le processeur a beaucoup moins de tâches à effectuer, ce qui augmente les performances, réduit la consommation d’énergie puisque le processeur passe moins de temps en charge. Cerise sur le gâteau : il semblerait que ART permette également de réduire la consommation en mémoire vive des applications, pour un multitâche plus réactif avec la même quantité de RAM. ART supportera bien les processeurs x86 (comme ceux d’Intel), ARM (comme ceux de Qualcomm et MediaTek) et MIPS (dans certains SoC dédiés aux objets connectés).

ART vs Dalvik

Android Extension Pack : pour des jeux plus performants et réalistes

Avec Android Extension Pack, Google souhaite concurrencer Apple et son API Metal. Le but est de permettre aux développeurs de proposer des jeux encore plus réalistes, avec davantage d’effets, afin de se rapprocher le plus possible des graphismes des consoles et PC. Android Extension Pack permettra aux développeurs d’utiliser les effets de tesselation (comme on a pu voir avec l’Adreno 420), des geometry shaders pour les graphismes et des compute shaders pour les moteurs physiques. Le support de la technologie ASTC permettra de compresser les images avec moins de perte pour des textures moins lourdes. EPIC Games a réalisé une démonstration avec le moteur Unreal Engine 4. Les développeurs ont indiqué avoir mis 3 semaines pour porter cette scène, à l’origine développée pour DirectX 11 (PC), vers Open GL ES 3.1 avec l’Android Extension Pack. La démonstration a été réalisée avec un Tegra K1 de NVIDIA.

Lien Youtube
Chaine Youtube FrAndroid