mardi 30 juin 2020

Rosetta 2 est la clé d'Apple pour rendre la transition ARM moins douloureuse

Plus tôt cette semaine, lors de ce que Tim Cook a appelé un «jour historique», Apple a annoncé qu'il éloignait les Mac des processeurs Intel pour ses propres puces de silicium. Le premier Mac avec du silicium Apple arrivera d'ici la fin de 2020, mais Apple prévoit que le processus de transition complet prendra deux ans.

Les nouveaux Mac utiliseront arm64, le même processeur architecture que les appareils iOS récents utilisent (les Mac à processeur Intel utilisent une architecture appelée x86-64). C'est une décision passionnante, car cela signifie qu'ils pourront exécuter des applications iOS et iPadOS parallèlement à celles conçues pour macOS. Mais cela signifie également que les applications développées pour l'architecture d'Intel ne fonctionneront pas à l'origine sur le prochain matériel d'Apple.

C'est là qu'intervient Rosetta 2: c'est un émulateur intégré à macOS Big Sur qui permettra aux Mac ARM d'exécuter de vieilles applications Intel. Rosetta 2 «traduit» essentiellement les instructions écrites pour les processeurs Intel en commandes que les puces d'Apple peuvent comprendre. Les développeurs n'auront pas besoin de modifier leurs anciennes applications; ils vont juste fonctionner. (L'original Rosetta a été publié en 2006 pour faciliter la transition d'Apple de PowerPC à Intel. Apple a également déclaré qu'il prendrait en charge les Mac x86 "pour les années à venir", en ce qui concerne les mises à jour du système d'exploitation. La société est passée de PowerPC aux puces Intel. en 2006, mais abandonné le support pour le premier en 2009; OS X Snow Leopard était uniquement Intel.)

Rosetta 2 permettra aux applications conçues pour les puces Intel de fonctionner sur les nouveaux processeurs d'Apple sans aucun travail du développeur
Capture d'écran: Dan Seifert / The Verge

En tant qu'utilisateur, vous n'interagissez pas avec Rosetta; il fait son travail en coulisses. "Rosetta 2 est principalement là pour minimiser l'impact sur les utilisateurs finaux et leur expérience lorsqu'ils achètent un nouveau Mac avec Apple Silicon », explique Angela Yu, fondatrice de l'école de développement de logiciels App Brewery. "Si Rosetta 2 fait son travail, votre utilisateur moyen ne devrait pas remarquer son existence."

Il y a cependant une différence que vous pourriez percevoir: la vitesse. Les programmes qui fonctionnaient sous Rosetta d'origine fonctionnaient généralement plus lentement que ceux fonctionnant nativement sur Intel, car le traducteur avait besoin de temps pour interpréter le code. Les premiers benchmarks ont révélé que les applications PowerPC populaires, telles que Photoshop et Office, fonctionnaient à moins de la moitié leur vitesse native sur les systèmes Intel.

Nous devrons attendre et voir si les applications sous Rosetta 2 enregistrent des performances similaires. Mais il y a quelques raisons d'être optimiste. Tout d'abord, la Rosetta d'origine convertissait chaque instruction en temps réel, au fur et à mesure de leur exécution. Rosetta 2 peut convertir une application au moment de l'installation, créant ainsi une version optimisée ARM de l'application avant de l'ouvrir. (Il peut également traduire à la volée pour les applications qui ne peuvent pas être traduites à l'avance, telles que les processus de navigateur, Java et Javascript, ou s'il rencontre un autre nouveau code qui n'a pas été traduit au moment de l'installation.) Avec Rosetta 2 en téléchargeant une grande partie du travail, nous pouvons voir de meilleures performances des applications traduites.

Apple revendique une amélioration des performances par rapport à la version originale de Rosetta à partir de 2006.
Capture d'écran: Dan Seifert / The Verge

Démos ont également semblé prometteurs. Apple a montré Rosetta en utilisant le logiciel d'animation Maya et le jeu Shadow of the Tomb Raider en 1080p; les deux semblaient fonctionnels dans la keynote.

Il y a quelques caveats, cependant.

Premièrement, Rosetta 2 n'est pas destinée à être une solution à long terme. Apple n'a pas dit combien de temps cela durera; Rosetta, sorti avec OS X Tiger, n'a été abandonné qu'avec OS X Lion trois versions plus tard. C'est un outil qui facilitera la période de transition d'Apple, mais Apple a certainement l'intention que ses développeurs commencent à utiliser les ports ARM natifs de leurs applications x86 le plus tôt possible. Les propres applications d'Apple, notamment Final Cut Pro et Logic, fonctionnent déjà en mode natif sur ARM. La société a déjà annoncé des kits de transition pour les développeurs avec un processeur ARM à l'intérieur pour aider les créateurs d'applications à mettre à jour et à tester leurs logiciels - et il a noté dans le discours d'ouverture que Microsoft travaille déjà sur Office et Adobe travaille sur Creative Cloud. Apple a présenté des versions natives de Word, Excel, PowerPoint, Lightroom CC et Photoshop, ainsi que son propre Final Cut Pro dans le discours d'ouverture de la WWDC.

Apple encourage les développeurs à créer des applications natives; Rosetta 2 est conçu pour être une solution provisoire

Cela dit, Apple comprend clairement que tous les développeurs n'auront pas de ports prêts pour le premier lancement d'ARM - et les clients qui achètent les premiers systèmes ARM à l'automne voudront utiliser leurs programmes préférés immédiatement. Rosetta 2 signifie également que les développeurs n'ont pas besoin de se démener pour réoptimiser leurs produits au moment de la sortie des premiers ARM Mac. (Le processus de portage des applications macOS vers Apple Silicon dépasse le cadre de ce guide, mais vous trouverez des instructions détaillées sur le site Web des développeurs d'Apple. )

«Changer la langue parlée par le CPU est une tâche énorme», déclare Ken Gillette, co-fondateur et CTO de Pocket Prep, une société de préparation de tests mobiles qui a développé plus de 100 applications pour Apl'écosystème national. «Il serait très difficile de mettre à jour chaque application avant que les nouveaux ordinateurs ne soient disponibles. Cela entraînerait un effort important pour apporter des changements dans un court laps de temps. »

"[Rosetta] simplifiera le processus d'achat d'un nouveau Mac pour les utilisateurs finaux", explique Gillette. «Si Apple ne le faisait pas, le processus serait beaucoup plus pénible, car de nombreuses applications que les consommateurs utilisent quotidiennement seraient absentes de leurs nouvelles machines.»

Les différentes fonctionnalités et capacités des nouveaux processeurs Mac basés sur ARM d'Apple.
Capture d'écran: Sean Hollister / The Verge

Une autre chose à noter est que le moteur ne prend pas non plus tout en charge. Il n'est pas compatible avec certains programmes, notamment les applications de machine virtuelle, que vous pouvez utiliser pour exécuter Windows ou un autre système d'exploitation sur votre Mac, ou pour tester de nouveaux logiciels sans impact sur le reste de votre système. (Vous ne pourrez pas non plus exécuter Windows en mode Boot Camp sur les Mac ARM. Microsoft ne concède sous licence que la version ARM de Windows 10 aux fabricants de PC.) Rosetta 2 ne peut pas non plus traduire kernel extensions , que certains programmes utilisent pour exécuter des tâches qui macOS n'a pas de fonctionnalité native pour (similaire aux pilotes sous Windows).

Rosetta 2 devrait aider Apple à éviter certains des maux de tête que Microsoft a connus avec sa propre transition ARM

Troisièmement, même si Rosetta 2 est entièrement fonctionnel, il existe des questions encore ouvertes sur le bon fonctionnement des ARM Mac. Dans son discours, Apple a souligné l'efficacité de ses nouvelles puces, affirmant que they "offrira au Mac les meilleures performances par watt du secteur". La société a également promis une meilleure expérience graphique, des capacités d'apprentissage automatique et une autonomie de batterie. Mais il a contourné le problème de la puissance brute - si les Mac ARM peuvent être plus efficaces que leurs prédécesseurs Intel, ils peuvent également être moins puissants. Apple n'a pas non plus précisé si elle prévoyait de produire de nouveaux GPU de son propre chef, ou si ses CPU s'interfaceraient avec des GPU tiers.

Les processeurs ARM que nous avons vus sur les PC Windows comme le Surface Pro X ont surpassé leurs concurrents Intel en matière d'autonomie et de compatibilité LTE. Mais nous avons également rencontré des problèmes de performances avec les PC ARM, bien que cela soit au moins partiellement dû au fait que la couche d'émulation que Microsoft utilise pour exécuter les applications x86 sur ARM ne peut exécuter que les applications Windows 32 bits (pas les applications x86 64 bits modernes) et de nombreux programmes 32 bits sont nettement plus lents que les programmes 64 bits.

Si tout fonctionne comme Apple l'a promis, Rosetta 2 signifie que, espérons-le, rien de tout cela ne se produira avec macOS.

Aucun commentaire:

Enregistrer un commentaire