Project Butter : rappel de ce que vous devez savoir
Un nom plein de mystère s'il en est. Ce que vous deviez savoir sur le Project Butter va enfin prendre tout son sens.
En français, le “Projet Beurre” (oui je sais c'est beaucoup moins poétique du coup) a été initié avec l'arrivée de Jelly Bean (Android 4.1). A l'origine et d'après Google, cette amélioration avait pour but de rendre le système 100 fois plus rapide. Aujourd'hui, à présent que nous avons pu le voir à l'oeuvre, il est certes beaucoup plus rapide, mais de là à multiplier par 100 le rendu initial…
Mais comment diable le Project Butter peut-il faire pour améliorer de manière tout de même conséquente, l'expérience que nous avions avec Ice Cream Sandwich (Android 4.0) ou Gingerbread (Android 2.3) ?
Le secret réside dans le rendu graphique. Si vous êtes un gamer, les termes qui suivront ne vous seront certainement pas inconnus. Si vous vous y connaissez un peu, vous comprendrez et pour les autres, je vais tout de même expliquer en termes simples ce que toute la panoplie linguistique technique signifie.
1/ Synchronisation verticale (vSync).
Comme tout écran, il existe un taux de rafraîchissement (généralement 60Hz). Ce taux est aussi synonyme de FPS (image par seconde). Un écran de 60Hz affichera donc 60 images par seconde. Mais là où la vSync devient nécessaire, c'est justement pour fixer ces 60i/seconde. En effet, sans la vSync, le nombre de FPS variera en fonction de ce qui s'affiche à l'écran. 60-70-30-32-90… Les chutes brutales de FPS donneront donc un effet de “lag” sur l'écran (à ne surtout pas confondre avec netlag qui lui est en rapport avec le réseau). Le lag c'est le moment où la carte graphique ne peut plus suivre la mise en tampon des images (buffering) et donc l'action à l'écran est saccadée, voire superposée ou plus lente.
La vSync corrige ce problème en fixant au taux maximum le nombre de FPS possible pour un écran. En pratique, un écran de 60Hz avec la synchronisation verticale activée affichera en permanence 60i/seconde. Ce qui apportera une meilleure fluidité dans les mouvements de l'écran.
Pour les gamers, cette option se trouve dans les options graphiques (Catalyst par exemple pour les détenteurs de cartes AMD).
Sur nos appareils Android donc, cela évitera les écrans noirs ou encore les images “hachées”, c'est à dire celles où l'on peut voir par exemple un morceau en haut et le bas légèrement décalé. Google a fixé le nombre de FPS à 60 constant (par seconde).
2/ Triple Buffering
En temps normal, nous n'avons qu'un double buffering. Qu'est-ce donc que cet alien ? Le buffering est la mise en tampon (ou mise en mémoire) des images qui s'affichent à l'écran. En effet, le double buffering agit comme ceci : pendant qu'une image est affichée à l'écran, la carte graphique charge les deux prochaines et ainsi de suite. Ceci afin d'avoir une meilleure fluidité. Le triple buffering agit de la même manière à la différence qu‘au lieu de mettre en tampon deux images, il en met trois. En pratique, lorsque vous regardez une vidéo sur votre smartphone, le téléphone prend un peu d'avance sur ce que vous voyez avant de vous l'afficher. Cette action s'effectue en quelques nanosecondes.
Le Triple buffering est par ailleurs quasi-indispensable avec la vSync.
Sur nos appareils Android, ce sera la fluidité des animations qui en sera accélérée.
3/ Sortie de veille : travail du processeur
Ce n'est pas nouveau et beaucoup de personnes ont déjà été dans ce cas. Lorsque l'on rallume le smartphone (ou la tablette), il y a un temps (plus ou moins long suivant le modèle de l'appareil et donc de ses caractéristiques techniques) où l'écran reste noir avant d'afficher l'écran d'Accueil. Google a donc mis en place un script permettant au processeur de travailler plus au moment où vous sortez de la veille. Ceci afin de réduire cet écran noir qui défini le temps d'attente entre la veille et l'allumage.
Voilà donc ce qu'apporte ce Project Butter. Vous aurez compris que le “Beurre” renvoie naturellement au côté lubrifié et donc fluide du système. D'ailleurs, les commentaires au sujet de Jelly Bean vont tous dans ce sens, que ce soit sur notre page Facebook ou dans les commentaires du blog : Android 4.1 est de loin le plus rapide mais aussi le plus fluide de toutes les versions précédentes. En outre, le Project Butter a la particularité d'anticiper le mouvement de l'index lors du rafraîchissement vertical
Google a fait un excellent travail d’optimisation du travail entre le CPU (processeur) et le GPU (processeur graphique), la taille même du firmware étant moindre que ICS par exemple.