Optimisez vos applications Flash pour les mobiles – Magazine – Programmez.com
Optimisez vos applications Flash pour les mobiles
Adobe a annonc? la disponibilit? du Flash Player 10.1 sur les mobiles Android en Juin dernier. Les chanceux munis d?un smartphone Android ont juste ? se rendre sur l?Android Marketplace pour installer Flash et acc?der ? tout le web par le navigateur.
Derni?rement, le runtime Adobe AIR 2.5 est aussi disponible sur Android. Il permet de transformer des applications Flash en applications natives Android. Cette technique de packaging est aussi possible sur l?iPhone ou l?iPad, gr?ce ? l?iPhone packager disponible sur labs.adobe.com, et r?autoris? derni?rement par Apple. Enfin, BlackBerry, HP (Palm) et Microsoft ont aussi annonc? l?arriv?e de Flash sur leurs mobiles et tablettes. C?est une grande nouvelle pour les 3 millions de d?veloppeurs de la Flash Platform, qu?ils soient d?veloppeurs Flash ActionScript 3 ou Flex. Mais je dois les mettre en garde. Les d?veloppeurs de la Flash Platform sont habitu?s ? ex?cuter leurs r?alisations sur Windows , MAC et Linux, sur des environnements avec des processeurs rapides et une quantit? de m?moire importante. Pour que leurs applications Flash s?ex?cutent correctement sur mobiles, il faut tenir compte de quelques r?gles de base d?optimisation. Cet article pr?sente comment optimiser son code ActionScript 3 pour environnements mobiles, mais c?est aussi valable pour les desktop bien s?r. Vous pouvez retrouver tous les exemples utilis?s dans le guide en ligne ? OPtimizing performance for the Flash Platform?. Pour comprendre comment am?liorer les performances d?une application, il est essentiel de comprendre comment le moteur d?ex?cution de la plate-forme Flash ex?cute le code. Le moteur d?ex?cution fonctionne en boucle, certaines actions se produisant sur chaque ? image ?. on entend ici par image un simple bloc de temps d?termin? par la cadence d?finie pour l?application. Le temps allou? ? chaque image correspond directement ? la cadence. Si vous sp?cifiez une cadence de 30 images par seconde, par exemple, le moteur d?ex?cution s?efforce de faire durer chaque image un trenti?me de seconde. Chaque boucle d?image comprend deux phases, divis?es en trois parties : les ?v?nements, l??v?nement enterFrame et le rendu. Si les op?rations combin?es de la boucle d?image (ex?cution du code et rendu) durent trop longtemps, le moteur d?ex?cution ne peut pas assurer une cadence uniforme. L?image s??tend au-del? du temps qui lui est allou?, retardant ainsi le d?clenchement de l?image suivante. et c?est souvent le rendu, plus que le calcul pur, qui dans 90% des cas ralentit une application Flash. Cons?quence, on per?oit des animations saccad?es, des vid?os qui ne sont pas fluides, une fen?tre qui scintille, un d?calage entre le moment o? l?on saisit le texte et quand il s?affiche, etc. D?s que l?on rencontre ces ?cueils, il faut cibler la bonne optimisation.
Micha?l ChaizeThibault Imbert