Flash 10.1 : Cocoa et Core Animation pour de meilleures performances

Anthony Nelzin-Santos |
« Ils sont feignants. Ils ont pourtant le potentiel pour faire des choses intéressantes, mais refusent de l'exploiter. », tels étaient les mots de Steve Jobs à l'encontre d'Adobe pour justifier l'absence de Flash dans iPhone OS et rappeler que la version Mac de Flash n'était pas aussi stable et puissante que la version PC. La situation est plus complexe que cela, comme le rappelle Tinic Uro, ingénieur chez Adobe sur le projet Flash Player, qui détaille l'utilisation d'une technologie Apple récente, Core Animation, pour améliorer les performances de Flash Player 10.1.

Intégrée pour la première fois dans Leopard, et présente dans l'iPhone OS, Core Animation est une interface de programmation qui permet notamment de produire des interfaces utilisateur animées. De nombreuses applications d'Apple l'utilisent, par exemple QuickTime X pour tous les effets de son interface (palette et barre d'outils disparaissant gracieusement). Core Animation permet aux développeurs de se faciliter la tâche : ils prévoient l'état de base de leur interface, l'état de sortie, et Core Animation calcule ce qu'il y a au milieu. Et Core Animation peut être accéléré par une carte graphique, pour grandement accélérer les choses et décharger le processeur central des tâches de rendu graphique.

Comme l'explique Tinic Uro, quatre méthodes sont disponibles pour l'affichage de Flash dans une fenêtre de navigateur sous Mac OS X :
- QuickDraw, qui remonte au Lisa, et qui est obsolète depuis Tiger. C'est la méthode utilisée par Opera, et les anciennes versions de Firefox et de Safari ;
- Quartz 2D (Core Graphics) son remplaçant côté rendu 2D. C'est la méthode utilisée actuellement par les versions les plus récentes de Firefox et de Safari ;
- OpenGL, qu'aucun navigateur ne supporte ;
- et donc Core Animation, que seul Safari 4 sur Snow Leopard supporte.

Mais comme on ne saurait se contenter de cette première couche de complexité, il existe trois manières d'intégrer du contenu Flash dans une page Web :
- le mode Normal, qui empêche l'utilisation de HTML par-dessus la couche SWF ;
- le mode Opaque, qui le permet ;
- le mode Transparent, qui rend le SWF transparent pour permettre de voir le HTML dessous.

Ce qui donne le croisement suivant pour Flash 10.0 :

flash-core-animation

Safari utilise donc Quartz 2D pour le rendu des éléments HTML, ce qui ne pose pas de problèmes à ce framework 2D pour du contenu statique. Mais dès que l'on ajoute Flash, les choses compliquent : à chaque nouvelle frame, Flash Player va demander le rafraîchissement de sa zone. Safari va alors isoler cette zone, mais va devoir repasser le HTML qui est derrière l'objet Flash, avant de dire à Flash Player qu'il peut désormais passer à la frame suivante. Rien de bien compliqué quand l'arrière-plan HTML est simple, mais c'est rarement le cas, surtout avec les capacités graphiques du CSS 3 (dégradés, etc.) : les allers-retours de l'un à l'autre consomment bientôt beaucoup de ressources processeur.

Pour faire court et peu technique, l'utilisation de Core Animation permet de simplifier considérablement ce dialogue entre Safari et Flash, et donc d'améliorer les performances.

Dialogue entre Safari et Flash, mais aussi entre Apple et Adobe, car pour mieux intégrer Core Animation et les plug-ins de navigateur, les ingénieurs des deux sociétés ont dû travailler ensemble, selon Tinic Uro. Résultat : avec les dernières versions de développement de Flash 10.1 et la dernière version de Safari, c'est Core Animation qui est utilisé à chaque fois qu'un objet Flash est l'objet de premier plan dans une page Web (c'est toujours le cas en mode Normal). Ce qui donne ce nouveau croisement :

flash-core-animation

Des versions de développement qui approchent la version finale, qui promet des gains de performances sensibles, même si de l'aveu même de Tinic Uro, cela ne sera pas suffisant pour régler tous les problèmes de performances de Flash sur Mac. Sur du contenu particulièrement compliqué qui ne reflète pas l'usage léger de Flash sur Web, l'ingénieur d'Adobe montre que le navigateur ne souffre plus grâce à Core Animation, tandis que le plug-in Flash lui-même demande moins de ressources :

flash-core-animation

Cerise sur le gâteau, que les plus pointus auront déjà débusquée : qui dit utilisation de Core Animation dit passage au Cocoa : Flash Player 10.1 se débarrasse en effet du vieux Carbon pour Safari, coupant l'herbe sous le pied de Steve Jobs (« Ils n'ont jamais rien fait pour mettre à profit les avancées d'Apple »). Carbon est cependant toujours présent dans Flash 10.1, mais uniquement pour Firefox et Opera.

Les torts ne sont sans doute pas tout à fait partagés dans cette affaire, mais la balle semble être résolument dans le camp d'Adobe pour améliorer la situation de Flash sur Mac. Mais la firme de San Jose semble y travailler : reste à voir ce qu'il en sera réellement dans les tâches de navigation quotidienne, pour les utilisateurs plutôt que pour les développeurs.
Tags
avatar Almux | 
He! He! Il avaient déjà tout ça, tout prêt, dans les tiroirs depuis un moment... En plus, Adobe doit se la jouer fine avec leur attitude face à l'HTML5 ([url]http://www.appleinsider.com/articles/10/02/14/adobe_working_to_sabotage_html5.html[/url]) !!
avatar HAL-9000 | 
Sinon quelle nuit devant les JO de Vancouver... J'ai pas fermé l'oeil de la nuit, dur dur... Bonne semaine aux MacUsers, Fanboys et Trolls ! ;)
avatar Brewenn | 
Vivement que notre plateforme devienne une [url=http://blogopub.tv/miam+box+boite+conserve]MiamBox[/url] sans plus aucun souci :)
avatar PaKaL_ORG | 
C'est pas "fainéant" - feignant étant plus dans le sens de feindre le travaille...
avatar Christophe Laporte | 
@ Almux J'ai épluché tout ce qui a été dit à ce sujet ce week-end autour du HTML5 et du comportement d'Adobe. Pour l'instant, tout ce qui a été dit est tout simplement disproportionné. Il n'y a pas de quoi (encore ?) crier au loup!
avatar Hasgarn | 
C'est bien, il était temps!
avatar HAL-9000 | 
@ Brewenn Vu comme cela (avec une belle brune) la miambox à l'air appétissante. :D
avatar randomtck | 
Les torts ne sont [b][u]sans[/u][/b] doute pas tout à fait partagés dans cette affaire, et [i](mais?)[/i] la balle semble être résolument dans le [b][u]camp[/u][/b] d'Adobe pour améliorer la situation de Flash sur Mac.
avatar HAL-9000 | 
[i]"Les torts ne sont sans doute pas tout à fait partagés dans cette [b]affaire et[/b] (mais?) la balle semble être résolument dans le camp d'Adobe pour améliorer la situation de Flash sur Mac."[/i] Ici mettre une virgule avant la liaison "et" est une abhération ;).
avatar HAL-9000 | 
[Suite et Fin du HS] Beaucoup de personnes utilisent la virgule à tort, [i]"Intégrée pour la première fois dans Leopard, et présente dans l'iPhone OS..."[/i] Pareil inutile. [i]"Comme l'explique Tinic Uro, quatre..."[/i] Inutile car pas besoin de reprendre la respiration, la phrase débute seulement... Etc. :)
avatar jeanba3000 | 
Hal-9000, pas du tout, par contre, mettre un h à aberration… Attention, t'as une poutre dans ton œil !
avatar Hasgarn | 
@ HAL-9000: Aberration, non pas abhération ;)
avatar HAL-9000 | 
C'est pour voir si tu suis :/ Abérration 1000 excuses !
avatar Nesus | 
C'est bien les critiques que fait Jobs a l'encontre de flash les fait apparement réagir. Dommage qu'il faille en arriver là pour qu'ils se bougent. Mais bon je pense que pour eux c'est trop tard. Un vent de rébellion est né contre ce standard en maintenant que certains savent qu'ils peuvent faire sans, ils ne vont certainement pas s'en priver...
avatar Pitiousss | 
Bon, OK, ce ne sont pas des fainéants, mais tout de même, ils doivent encore beaucoup travailler pour améliorer cette version ! J'ai hate d'essayer la prochaine version (qu'elle soit beta ou pas) parce qu'elle bug encore beaucoup. Il était temps qu'ils soient en phase avec toutes les avancées d'Apple.
avatar Captain Nemo | 
@ HAL-9000: "Et" est une conjonction de coordination, pas une liaison. Ça s'apprend à l'école primaire.
avatar HAL-9000 | 
@ Captain Le problème dans cet article c'est que dans la phrase [i]"[...] Intégrée pour la première fois dans Leopard, et présente dans l'iPhone OS [...]"[/i] la conjonction de coordination (:D) est utilisée à tort (à travers la virgule) comme polysyndète alors que celle-ci devrait être utilisée simplement comme addition de deux éléments...
avatar Florent Morin | 
Excellente initiative d'Adobe. Il ne reste plus à Apple qu'à suivre cet exemple pour iTunes... sic!
avatar studdywax | 
moi, tout ce que je vois c'est que mon macbook ne vas peut être plus imploser de chaleur à chaque vidéo lue... et CA c'est beau
avatar Hasgarn | 
@ HAL-9000: no soucis Man! Mais, pardonne-moi, un"e" se prononce "é" s'il est suivi de 2 consonnes. D'ou l'inutilité de l'accent dans aberration. Ce n'est pas pour t'ennuyer, je t'assure :o)
avatar jodido | 
eh les gars c'est pas qu'on s'en tape de votre débat sur les virgules mais pas loin. Sinon c'est super si Adobe améliore flash mais bon vivement que cette techno lourdingue soit abandonnée
avatar HAL-9000 | 
@ Hasgarn J'en étais sûr de ta réaction ! :D Lorsque j'ai rédigé ma réponse j'ai tout de suite aperçu ma faute sur le "e". Malheureusement on ne peut plus éditer ses posts... :( Sinon les phrases se finissent par un point ! [i]"Ce n'est pas pour t'ennuyer, je t'assure [b].[/b]"[/i] ^^
avatar BlackSmileFR | 
BLA BLA BLA ! Quid toujours pour les autres navigateurs !!!
avatar Hasgarn | 
MDR! Sans rancune! Bon, en attente de la mise à jour du plug in...
avatar mixoo | 
Eh les mecs, avant de s'annoncer comme fervent défenseur des règles de la grammaire/orthographe française, commençaient par respecter les règles (en particulier la 4) de ce forum !
avatar Un Vrai Type | 
Houuuu je croyais que les méchant pas beaux de chez Apple empêchaient dans cocoa d'afficher de la vidéo... (J'avais même donné ici des contres-exemples) Ben finalement, je n'avais pas tord, puisqu'ils ont fait ce qu'ils ont annoncé impossible y'a juste 3 semaines ! Bon, si les performances (et la stabilité) redeviennent normale, ça ne change rien par contre à l'utilisation abusive de flash par des "graphistes" qui ne mettent pas en valeur les clients mais leur capacité à copier-coller des trucs qui clignotent... Le flash, oui, mais à très petites doses dans des div bien définie et avec un but autre qu'animer un menu !
avatar Silverscreen | 
Pour faire simple : - Apple déteste dépendre d'autres sociétés pour l'expérience de ses utilisateurs (Suite Office incontournable, Flash omniprésent sur le web, Firefox trop lourd et IE anti-standards comme seuls navigateurs, des logiciels Adobe s'adressant à une de ses niches (les graphistes) avec des softs aux technologies datant de 2 ou 3 versions de Mac OS X. D'abord, parce que ça pénalise Apple dans ses comparatifs avec les PCs sous Windows (performance de Flash et des autres softs Adobe et, à l'époque, de Firefox)… mais, surtout, parce que ça ralentit Apple dans ses innovations technologiques (adoption de Cocoa, abandon de la compilation sous CodeWarrior, utilisation des APIs CoreMachin, de Webkit et des accélérations système (Grand Central Dispatch, OpenCL etc). - Adobe, de son côté doit se consacrer en priorité aux secteurs les plus rentables de son activité et ne peux pas consacrer des ressources disproportionnées à un acteur le plus souvent mineur (en parts de marché) voire, un concurrent sur certains produits. Mais, en même temps, ils ne peuvent pas non plus se tirer une balle dans le pied en se mettant ce même Apple à dos d'abord parce que près de 50% des licence Creative Suite sont achetées par des MacUsers et parce qu'Apple est un acteur en pleine ascension dans des domaines encore vierges de la présence de boites informatiques (téléphonie, distribution de médias dématérialisés)… Bref, Apple fait chier Adobe avec Flash alors qu'Apple cherche à le remplacer par d'autres technos, Apple est de plus en plus en concurrence avec Adobe (Aperture, iPhoto, d'autres applis de design à venir) mais, en même temps, Apple défriche des secteurs qui intéressent Adobe et peut bien devenir un partenaire incontournable dans d'autres secteurs… On peut imaginer Adobe plancher sur des options complètes d'export d'inDesign au format ePub, de convertisseurs PDF->ePub, de softs transformant en tablette graphique l'ipad, d'un moyen de distribuer ses typos via l'iTunestore…
avatar Silverscreen | 
Mais le plus probable : c'est qu'Adobe décide de transformer le soft Flash en un outil de création web animée aux formats d'export plus étendus (HTML5, Ajax, MPEG4, SVG, CSS3) et qu'en même temps qu'Apple utilise son expertise sur Webkit et en développement d'applis pour iPhone/iPad natives ou en XHTML/CSS pour sortir un soft de design web de nouvelle génération… Et on peut très bien imaginer qu'Apple intègre dans son OS/Safari de quoi lire les jeux natifs iPhone/iPad, rendant caduque le plug-in Flash pour bon nombre de jeux en ligne, supplantés par la bibliotèque de jeux de l'AppStore… il y a 3 raisons essentielles d'utiliser Flash : - jouer à des petits jeux en ligne - voir de la vidéo streamée - utiliser des interfaces de navigation animées sur certains sites vitrine Si Apple réussit à imposer une alternative dans chacun de ses domaines (jeux iPad en ligne, vidéos en H264 et interfaces en CSS 3), Flash est mort…
avatar iBook 68 (non vérifié) | 
on a dit sans accent pour l'aberration... ;-)
avatar HAL-9000 | 
@ mixoo La consigne 1 tu sembles la négliger pour ta part...
avatar adinx | 
Hasgarn et Hal-900 En français, il y a toujours un espace avant une ponctuation double ("!", "?", ";", ":") De plus "…" ne s'écrit pas "..." (alt+point sur mac, alt+0133 sur PC) Pas facile de ne pas faire de fautes en français, hein ? Sinon, ne croyez pas que c'est grâce à Steve Jobs. Adobe devait travailler sur ce projet depuis pas mal d'années, les dires de jobs les ont juste amener à communiquer. J'espère seulement que nous, les utilisateurs, sortirons gagnant de ces tirages de cheveux.
avatar R1x_Fr1x | 
Si cette mise à jour 10.1 est si majeure que ça et marque une telle rupture avec la 10.0, alors, pourquoi ne pas l'avoir nommée 11?
avatar HAL-9000 | 
[i]Eh les mecs, avant de s'annoncer comme fervent défenseur des règles de la grammaire/orthographe française, commençaient par respecter les règles (en particulier la 4) de ce forum ! [/i] Ah ça c'est sûr, défenseur des règles de la grammaire/orthographe française cela ne te concerne pas, vu les fautes...
avatar Captain Nemo | 
@adinx : En typographie et photocomposition, espace est du genre féminin.
avatar spleen | 
"En français, il y a toujours un espace avant une ponctuation double" "En typographie, espace est du genre féminin" etc, etc.... L'informatique étant déja la science des ânes, internet rendant très con, on peut maintenant se rappeler aisément que l'orthographe AUSSI est la science des ânes. L'iCon est une spécialité Apple.
avatar Jerry Khan | 
On remarquera comment 2 ou 3 provocateurs (toujours les mêmes au passage) pourrissent les réactions sans réaction (sic) de la rédaction.
avatar JSDX | 
Bon et sinon, y sort quand ce flash des miracles ?
avatar Nicky Larson | 
[quote]Flash Player 10.1 se débarrasse en effet du vieux Carbon pour Safari, coupant l'herbe sous le pied de Steve Jobs[/quote] Ils coupent rien du tout, ils annoncent ça après les déclarations de Steve Jobs, et en plus avec des screenshots sur une version de dev interne. En bref, ils annoncent ce qu'ils veulent...
avatar codeX | 
[quote]L'informatique étant déja la science des ânes, internet rendant très con, bla bla bla bal [/quote] Il en sait quelque chose le bougre.
avatar BS0D | 
Un petit mot pour la rédac' : première ligne = faute... "feignant" ça n'existe pas, ça s'écrit "[b]fainéant[/b]" =)
avatar BS0D | 
Enfin si pardon, ça existe, mais c'est du verbe "feindre", donc rien à voir dans ce contexte ^^
avatar HAL-9000 | 
[i]BS0D [15/02/2010 11:53] (effacer) (editer) Un petit mot pour la rédac' : première ligne = faute... "feignant" ça n'existe pas, ça s'écrit "fainéant" =) PaKaL_ORG [15/02/2010 09:31] (effacer) (editer) C'est pas "fainéant" - feignant étant plus dans le sens de feindre le travaille... [/i] MDR la rédac va finir par péter un câble (si ce n'est pas déja fait) :D
avatar lennoyl | 
espérons que ce se développe vite pour les autres modes et surtout pour les autres navigateurs web.
avatar lennoyl | 
"cela" pas "ce" (j'ai l'impression que le nouveau clavier Apple a des ratés parfois...)
avatar R1x_Fr1x | 
à lire l'article et toutes ces technologies énoncées, j'ai l'impression de revivre le lancement de Snow Leopard. Attention à pas trop mettre d'espoir dans ce flash nouveau, la déception risque d'en être aussi brutale.
avatar Hasgarn | 
@ adinx: merci, mais on est pas au boulot non plus… Je n'ai pas encore trouvé les "…" sur iPhone, si quelqu'un sait… Je les connais aussi les règles typo, sauf que je trouve plus jolie de mettre des espaces fines avant les signes doubles, pour le détail (cmd+alt+maj+m sur InDesign, mais le raccourci n'existe pas sur Safari, trop ballot quoi…). Autres choses ?
avatar Anonyme (non vérifié) | 
@BS0D : on vous demandera d'ouvrir votre dictionnaire (ne serait-ce que le TLF : http://atilf.atilf.fr/) : « feignant » non seulement existe, mais veut dire exactement ce que je veux lui faire dire (synonyme de « paresseux »), en utilisant le niveau de langage utilisé par Jobs lors de sa déclaration (puisque c'est une forme populaire de « fainéant »). Donc acte. @JSDX : c'est bien la question. Il dit « bientôt », les versions bêta approchant la version finale. Reste à savoir ce qu'il entend par « bientôt »…
avatar shenmue | 
@Jodido:"eh les gars c'est pas qu'on s'en tape de votre débat sur les virgules mais pas loin." ça s'appelle du flood. Et ça ne m'étonne pas quand je vois qui y participe.
avatar arsinoe | 
Encore une nouvelle preuve que la tentative de déclaration de guerre de Steve Jobs était tout sauf de bonne foi. Si au moins il avait la sincérité d'avouer que le but est d'avoir le contrôle total des applications iPad / iPhone et surtout le contrôle du chiffre d'affaire généré. De toute façon, c'était vain. Même avec tout les arguments fallacieux du monde, même en ayant recours à la vieille technique du bouc-émissaire, une part totalement négligeable des navigateurs ne peut tirer tout internet vers le bas.
avatar P'tit Suisse | 
Merci pour cet excellent papier qui vulgarise fort bien des notions abstruses. Aux férus d'orthographe, je recommande vivement le Dicowidget du CNRS: FEIGNANT, ANTE, FAIGNANT, ANTE, adj. et subst. FEINDRE, verbe trans. [Forme pop. de fainéant] Synon. de cossard (pop.), paresseux; anton. bûcheur (fam.), travailleur.

Pages

CONNEXION UTILISATEUR