Apple annonce les technologies OpenGL et OpenCL obsolètes


De la présentation Apple

Apple a mis à jour la documentation des développeurs. Section "Quoi de neuf?" consacré aux changements clés de macOS 10.14: le jeu de couleurs sombres Dark Mode, la nouvelle technologie Create ML pour créer et former des réseaux de neurones sur Mac, le Mac App Store mis à jour avec de nouvelles interfaces de programmation pour les évaluations et les revues (pour macOS 10.14 SDK), le nouveau cadre de réseau Network Framework , qui fournit un accès direct aux protocoles réseau TLS, TCP et UDP à partir des applications, le cadre Natural Language pour analyser la parole naturelle et isoler les métadonnées spécifiques à un langage spécifique de celui-ci (le cadre peut être utilisé en conjonction avec Create ML pour former des réseaux de neurones).

Mais la chose la plus intéressante est cachée dans le sous-sol, à savoir dans la section Dépréciations et API supprimées. Il mentionne l'abandon des technologies OpenGL et OpenCL "obsolètes". Ces technologies reçoivent la «marque noire», c'est-à-dire qu'Apple décourage fortement l'utilisation d'OpenGL et d'OpenCL dans le développement de nouveaux produits.

"Apple ajoute périodiquement des macros de dépréciation à l'API pour indiquer que ces API ne devraient plus être utilisées dans le développement actif", a indiqué la documentation. - Lorsque l'obsolescence se produit, cela ne signifie pas la fin de vie immédiate de ces interfaces logicielles. Cela marque le début d'une période de grâce pour la transition de ces API vers une alternative plus récente et plus moderne qui se substitue. »

Apple note que les API obsolètes restent généralement sur le système et peuvent être utilisées pendant un «délai raisonnable» après la sortie lorsqu'elles sont obsolètes. Cependant, leur développement actif s'arrête et l'API ne reçoit que des mises à jour de sécurité mineures ou d'autres erreurs critiques. Les développeurs sont avertis que les API obsolètes peuvent être complètement supprimées d'une future version du système d'exploitation .

Apple recommande de se débarrasser des API obsolètes dans son code dès que possible. Au minimum, le nouveau code ne doit jamais utiliser OpenGL et OpenCL. Et si un ancien code utilise ces interfaces, il doit être remplacé le plus rapidement possible.

Alternative: métal


Les applications créées à l'aide d'OpenGL et d'OpenCL continueront de fonctionner sur macOS 10.14, mais ce sont déjà des technologies obsolètes. «Les jeux et les applications graphiques utilisant OpenGL devraient désormais utiliser Metal. De même, les applications utilisant OpenCL pour les tâches de calcul devraient désormais utiliser Metal et Metal Performance Shaders. »

Métal - de nouvelles interfaces logicielles développées à partir de zéro sans rétrocompatibilité. Selon Apple, ils offrent un meilleur accès aux processeurs graphiques modernes sur iOS, macOS, ainsi que sur les appareils tvOS: «Le métal évite les frais généraux inhérents aux technologies obsolètes et représente les dernières fonctions de traitement graphique. La prise en charge graphique et informatique unifiée de Metal permet aux applications de tirer parti des dernières technologies de visualisation. Pour plus d'informations sur le développement d'applications et de jeux à l'aide de Metal, consultez la documentation du développeur pour Metal , Metal Performance Shaders et MetalKit . »

Pour plus d'informations sur la migration de code OpenGL vers Metal, voir Mélange de rendu Metal et OpenGL dans une vue .

Les développeurs de Hacker News sont sceptiques à propos d'Apple. En général, le consensus est le suivant: cette entreprise déteste vraiment les jeux informatiques, ou elle souffre gravement d'un syndrome de rejet du développement de quelqu'un d'autre (syndrome NIH). Il s'agit d'une position dans les cultures sociales, d'entreprise ou organisationnelles qui évite l'utilisation de développements tiers pour diverses raisons: peur de la contrefaçon de brevet, mauvaise compréhension du travail de quelqu'un d'autre, refus de reconnaître ou d'apprécier le travail d'autrui, jalousie ou dans le cadre d'une `` guerre pour le territoire '' plus large. Apparemment, la technologie Metal confirme la présence du syndrome NIH.

Les commentateurs rappellent également qu'en raison d'un support imprudent pour OpenGL, le projet Elite Dangerous pour Mac a récemment dû fermer .

D'un autre côté, la plupart des jeux sont aujourd'hui créés sur Unity3D, Unreal Engine et d'autres moteurs qui prennent en charge Metal. Eh bien, quiconque a investi du temps et de l'argent dans le développement d'OpenGL / OpenCL est à blâmer.

Source: https://habr.com/ru/post/fr413335/


All Articles