Pourquoi macOS Mojave requiert Metal – et déconseille OpenGL
Note de l'éditeur: La raison pour laquelle Apple désapprouve OpenGL a encore éclaté avec la sortie de Mojave. Cette pièce a été publiée en juin, mais reste exacte et pertinente aujourd'hui.
La liste du matériel Mac prenant en charge le nouveau Mac OS Mojave est identique à celle de la liste des ordinateurs Mac prenant en charge Metal. Plus précisément, Metal est le framework de calcul, de graphiques 3D accéléré par matériel d’Apple, une bibliothèque standard et un langage d’ombrage pour GPU.
Mojave nécessitera au moins un iMac ou un Mac mini fin 2012, ou un MacBook Air ou un MacBook Pro pour la mi-2012. Bien sûr, il fonctionne également sur tous les nouveaux iMac Pro 2017 ou les nouveaux MacBook Retina (commercialisés en 2015), et prend en charge tous les cylindres noirs Mac Pros (commercialisés depuis 2013). Il prend également en charge les modèles Mac Pro "à râpe à fromage" antérieurs à la mi-2010, s'ils étaient équipés d'une carte graphique compatible Metal.
Contenus
Pourquoi Mojave nécessite un GPU compatible Metal
Le manque de prise en charge des graphiques Metal explique pourquoi certains des Mac pris en charge par macOS actuel High Sierra ne peuvent pas être mis à niveau pour exécuter Mojave. Cela inclut les iMac 2009-2011 ("non minces"); Mac Minis 2010-2011; MacBook plastiques 2009-2010 autres que de la rétine; et les modèles 2011 ou antérieurs non MacBook Pro et MacBook Air autres que Retina.
Le nouveau Mojave supprime la prise en charge pendant quelques années des modèles non-Retina, mais prend toujours en charge certains Mac non-Retina, car le problème ne réside pas dans leur résolution d'affichage, mais plutôt dans leurs capacités de GPU. Les anciens modèles Mac Pro datant de 2010 peuvent être équipés de nouveaux GPU compatibles Metal pour exécuter la nouvelle version. Il est donc clair qu'Apple ne se contente pas d'abandonner les machines héritées pour forcer de nouveaux achats.
Tracer une ligne sur des GPU compatibles Metal permet à Apple d’optimiser les performances graphiques, notamment pour les toutes nouvelles fonctionnalités logicielles, notamment FaceTime multi-utilisateurs et d’autres nouvelles fonctionnalités de l’UI, familières avec iOS. Si vous possédez un Mac depuis 8 à 9 ans, Mojave constitue une bonne raison de mettre à niveau votre matériel et de rejoindre la partie moderne de Metal.
La nouvelle version de Mojave sera officiellement disponible à l’automne avec un nouvel iOS 12, watchOS 5 et le nouveau tvOS, conformément au calendrier régulier des mises à jour du système d’exploitation d’Apple depuis plusieurs années. Auparavant, Apple propose un programme bêta public Mojave permettant aux utilisateurs de télécharger le logiciel en avant-première, de tester ses nouvelles fonctionnalités à l'avance et de signaler tout bogue découvert à Apple.
Le métal remplace OpenGL
Metal a été livré pour la première fois en 2014 sur l'iPhone 5s de l'année précédente afin de tirer pleinement parti des capacités graphiques de son système personnalisé «Système sur puce» A7, qui comprenait un processeur 64 bits et un processeur graphique indépendant.
Les gains de performance de Metal proviennent en grande partie de ses optimisations visant à réduire la charge du processeur, permettant ainsi aux logiciels d’utiliser beaucoup plus efficacement la puissance du GPU. Metal y parvient grâce à une synchronisation explicite et à un espace mémoire partagé entre le processeur graphique et le processeur; réduction des frais généraux du conducteur, des shaders précalculés et validation initiale de l'état; et multithreading efficace, où chaque unité centrale peut envoyer des commandes au GPU.
Metal tire son nom de son faible niveau d'optimisation matérielle, car il fonctionne sur "le métal nu", plutôt que de survoler une couche d'abstraction matérielle étendue dans le modèle de frameworks graphiques multi-plateformes comme OpenGL, conçus pour prendre en charge une large gamme. des processeurs.
Apple a initialement migré vers OpenGL à la fin des années 90 après que Steve Jobs a annoncé son intention d'abandonner sa propre entreprise, QuickDraw 3D, un projet précoce visant à prendre en charge le rendu graphique des logiciels sur Mac. À l’époque, le passage à OpenGL permettait à Apple de tirer parti du travail déjà accompli pour créer un logiciel permettant l’accélération matérielle sur divers GPU.
Quinze ans plus tard, cependant, iOS d’Apple était devenu la plus grande plate-forme de matériel mobile uniforme. Parallèlement à Metal, Apple a lancé le premier processeur ARM personnalisé 64 bits et optimisait également la conception de GPU générique créée par Imagination Technologies. À l'avenir, Apple savait que tous ses appareils iOS disposeraient d'un processeur 64 bits et d'un GPU avancé.
En dehors d'iOS, les détenteurs de licence Android et Windows Mobile utilisaient une grande variété de processeurs et de matériels graphiques. Ils étaient censés avoir des années de retard sur les processeurs 64 bits et étaient assaillis par une "ingénierie de la valeur" rentable qui nécessitait que les périphériques soient livrés avec des graphiques peu performants.
Développer l’état de l’art sur les GPU mobiles était une proposition coûteuse et risquée qui avait complètement éliminé les géants du GPU mobile, AMD, Texas Instruments et Nvidia.
L'objectif d'Apple pour iOS était de créer des graphiques extrêmement performants capables d'augmenter rapidement les performances tout en les réduisant tout aussi rapidement pour préserver la durée de vie de la batterie. Il avait besoin de la capacité d'optimiser la prise en charge des produits à venir, notamment des résolutions supérieures de l'iPhone 6 et 6 Plus et des futurs modèles d'iPad exigeant une puissance graphique supérieure à celle de la plupart des ordinateurs portables de PC.
Les titulaires de licences Android et Windows avaient des projets beaucoup moins ambitieux. Samsung a introduit de nouveaux panneaux haute résolution mais les a livrés avec des GPU de base exécutant le logiciel Android standard. L'accent était mis sur les spécifications vantardes et non sur la convivialité ou les performances réelles des logiciels de jeu, de création ou de calcul intensif.
En 2015, Apple a pris en charge Metal sur les Mac récents (avec des GPU datant de 2012, notamment les processeurs Intel HD 4000 et Iris Graphics, les GPU Graphics Core Next d'AMD et les GPU basés sur Kepler de Nvidia) sous macOS El Capitan.
Metal 2 se concentre sur l'avenir de ML, AR, VR
L'année dernière, Apple a annoncé Metal 2 pour macOS High Sierra, avec des améliorations comprenant un nouveau débogueur de shader et un nouvel afficheur de dépendance de GPU pour un profilage et un débogage plus efficaces dans Xcode; aide à l’accélération de la tâche de formation de réseaux de neurones, y compris l’apprentissage par machine, exigeant de nombreux calculs; charges de travail moins importantes du processeur via des pipelines contrôlés par le GPU, le GPU étant capable de créer ses propres commandes de rendu et de les planifier avec peu ou pas d'interaction du processeur; et soutien à la réalité virtuelle.
Metal 2 est également pris en charge dans iOS sur les appareils utilisant les nouveaux modèles A11 Bionic: iPhone 8, 8 Plus et X. Cette puce a également lancé le premier GPU indépendant d’Apple, de conception propre, encore plus optimisé pour accélérer non seulement les graphiques, mais aussi accélérer l’apprentissage automatique et la réalité augmentée (qui inclut des applications telles que la réalité virtuelle et le suivi des visages).
Apple n'essaie plus de travailler au sein d'une communauté graphique grand public où son propre produit est simplement une variante propriétaire d'un PC Intel, équipée de l'un des nombreux modèles de GPU propriétaires qui doivent tous être résumés pour ressembler aux développeurs qui tentent de s'en servir. d'eux.
Aujourd'hui, Apple construit son propre silicium hautement personnalisé, y compris son propre processeur, son processeur graphique et son moteur Neural, et doit développer un logiciel bare metal pour le faire fonctionner efficacement et à sa capacité maximale.
Android et d'autres plates-formes ont commencé à prendre en charge un framework Vulkan développé par la communauté pour les graphismes qui apporte des améliorations par rapport à OpenGL des années 1990, mais ils ne partagent pas les mêmes objectifs que Apple. La plupart des fabricants d’Android se concentrent sur le volume élevé de ventes d’appareils téléphoniques de base, d’une valeur moyenne de 200 dollars.
La dépréciation d'OpenGL
Plus tôt ce mois-ci, la documentation destinée aux développeurs d’Apple indiquait que le développement actif d’OpenGL et d’OpenCL sur le Mac avait cessé, et que les API n’obtiendraient que des "modifications mineures".
"Les applications créées à l'aide d'OpenGL et d'OpenCL continueront de fonctionner dans macOS 10.14, mais ces technologies héritées sont obsolètes dans macOS 10.14. Les applications gourmandes en graphiques qui utilisent OpenGL doivent maintenant adopter Metal. De même, les applications qui utilisent OpenCL pour des tâches de calcul adopter des Metal Shaders Metal et Metal ", a noté la société.
Dans le logiciel, "dépréciations" signifie qu'une fonctionnalité a été remplacée et que, si l'ancienne version doit encore fonctionner pour le moment, il est conseillé de ne plus l'utiliser et de préparer un futur où elle sera entièrement supprimée.
Cela a provoqué une réaction instinctive de la part de clickbait, avertissant que les "développeurs" se révoltaient et brandissaient des fourches à propos de cette annonce. Cependant, les utilisations principales d'OpenGL et d'OpenCL (la structure de calcul GPU développée à l'origine par Apple et partagée avec la communauté OpenGL) sont le portage de code de bas niveau entre Linux, Windows et Mac.
La plupart des jeux modernes avec des graphiques 3D ne sont pas codés en dur avec OpenGL de bas niveau. Au lieu de cela, les développeurs utilisent des frameworks de "moteur" graphique de niveau supérieur, tels que Unreal Engine 4 d'Epic Games; Les moteurs WoW et SC2 de Blizzard; ou Unity Engine. À l'instar des frameworks graphiques de haut niveau d'Apple, tels que SceneKit, SpriteKit et ARKit, ceux-ci utilisent déjà nativement le métal.
Cela signifie que les jeux auxquels vous jouez aujourd'hui – et les nouveaux titres que vous rechercherez dans le futur – ne seront pas vraiment affectés par la dépréciation d'OpenGL. Cependant, ils seront grandement accélérés par les dernières avancées d'Apple dans le silicium bas niveau et le métal plaqué presque aussi bas. En outre, Metal prend également en charge le déploiement de nouvelles applications avancées, notamment FaceTime multi-utilisateur, dans la version bêta publique de macOS Mojave.