Apple serait-elle en train d’abandonner OpenGL ?

Lors de la conférence développeurs WWDC 14, qui se tient du 2 au 6 juin à San Francisco, Californie, Apple a annoncé trois nouvelles API pour les créateurs de jeu : SceneKit, pour les jeux en 3D visant les joueurs occasionnels, SpriteKit pour les jeux en deux dimensions et Metal.

Metal permettrait de décupler les capacités graphiques 3D des iPads et iPhones utilisant les puces A7, en proposant une API 3D plus bas niveau que OpenGL, et donc moins coûteuse en ressources.

Invité pour l’occasion, Tim Sweeney, le fondateur d’Epic Games, a montré une appli sur iPad, Zen Garden, tournant sous le moteur Unreal Engine 4, optimisé pour Metal, particulièrement impressionnante, et qui sera bientôt disponible gratuitement dans l’App Store.

Zen Garden

Unity3D, un autre moteur leader du marché, est aussi porté pour Metal.

 

Jusqu’à présent, Apple utilisait OpenGL, n’ayant pas d’autre choix, alors que Microsoft utilise DirectX, créée il y a plus de 20 ans par Craig Eisler, Alex St. John, et Eric Engstrom.

Pourquoi créer une API 3D maintenant ?

D’une part, parce que le paradigme 3D a changé. Avec les progrès des cartes 3D, massivement parallèles, le processeur est devenu le goulot d’étranglement de la chaîne 3D.

Pour obtenir plus de performance, AMD, qui est au cœur des consoles de dernière génération Sony Playstation 4 et Microsoft Xbox One, a lancé l’API Mantle, plus proche du métal.

Parallèlement, Microsoft travaille sur DirectX 12, qui donne aussi un accès plus bas niveau et donc plus rapide, au matériel.

Apple suit donc le mouvement, mais avec un léger avantage : elle peut optimiser Mantle pour ses propres puces, contrairement à DirectX qui doit faire avec de très nombreuses variantes processeurs-puces graphiques. Apple peut donc optimiser en profondeur. Toutefois, elle doit aussi tenir compte de l’évolution de ses puces.

Théoriquement, Android est en désavantage, car elle tourne avec une grande variété de processeurs et de puces graphiques. Créer une API comme Metal serait nettement plus complexe que pour Apple.

La deuxième raison est supputée par St. John.

Quand Apple promeut OpenGL, elle promeut une API 3D utilisée par la concurrence, et notamment Android. Les investissements d’Apple dans OpenGL ont des retombées sur Android. Pourquoi aider Android à drainer les développeurs de jeu sur iOS ?

D’après lui, Metal est donc stratégique, et à terme Apple pourrait abandonner OpenGL au profit de Metal. En cela, elle émulerait Microsoft, qui au départ contrôlait largement OpenGL, mais qui l’a laissé tomber suite au succès de DirectX.