Android joue à plein sur Vulkan et OpenGL ES 3.2

Stéphane Moussie |

Alors qu'Apple mise beaucoup sur Metal pour faire émerger des jeux aux graphismes toujours plus poussés, Google privilégie pour sa part les API graphiques ouvertes du Khronos Group.

Android va prendre en charge Vulkan, l'API de bas niveau annoncée au début de l'année. Celle-ci donne plus de contrôle aux développeurs en leur permettant notamment de gérer la mémoire et le multi-threading, avec à la clé de bien meilleures performances. Google va contribuer au développement de Vulkan en s'assurant de sa compatibilité avec un grand nombre d'appareils Android.

Dans le même temps, le consortium Khronos Group a annoncé OpenGL ES 3.2, une nouvelle version de son API graphique de plus haut niveau. Vulkan et OpenGL ES sont en effet amenées à cohabiter : les développeurs qui veulent tirer parti au maximum du matériel choisiront la première, tandis que ceux qui veulent de la simplicité opteront pour la deuxième.

Cliquer pour agrandir

OpenGL ES 3.2 intègre maintenant en son sein l'Android Extension Pack, une série de fonctions permettant de mettre au point des graphismes sophistiqués. Cette version d'OpenGL sera prise en charge par une prochaine version d'Android.

Depuis l'arrivée de Metal, l'API graphique du Khronos Group n'est plus une priorité pour Apple. Contrairement au système de Google, iOS ne supporte toujours pas OpenGL 3.1. C'est la mouture 3.0 qui est la dernière prise en charge.

Tags
avatar Un Type Vrai | 

On va revivre QuickDraw 3D...

On va avoir un truc génial (Metal) mais tellement incompatible avec le reste du monde que les éditeurs resteront prudents ou ne se sentiront pas en concurrence.
Et au final, Apple aura du retard dans la réalité.

La théorie du perfectionnement interne a des limites.

Et quand Apple abandonnera Metal du jour au lendemain sans alternative crédible (avec un "QuickTime X 3D" qui saura juste afficher une sphère rose), les macuser revivront le bond en arrière technologique...

Quand on pense qu'Apple vend ses portables "haut de gamme" avec une carte graphique anémique, peu supportée (alors que mettre à jour le NVidia aurait fait x2 en puissance + gain en consomation...) on peut craindre de la stratégie soft+hard vue par Tim Cook et les financiers.

avatar cloudy | 

Je pense en effet que le Khronos Group garde un pouvoir certain qui peut marginaliser les technos qui ne sont pas cross-plateforme.

D'autant que l'on parle de plus en plus de l'arrivée de Vulkan sur la PS4. Les moteurs de jeux vidéos serait donc porté assez rapidement à priori.

C'est un peu comme ça chez Apple on sort une techno supérieure sur le plan strictement technique (un peu comme Firewire) mais l'effort de déploiement est trop faible ou l'équation économique pas assez rentable pour en faire un standard de fait. Pour le coup un autre rafle la mise.

avatar Sostène Cambrut | 

@Un Type Vrai

Je ne suis pas du tout d'accord.

D'une part parce que les temps ont changé depuis QuickTimeX 3D. Le marché du jeu vidéo est clairement devenu une priorité pour Apple. L'époque où il n'était question que de faire bonne figure face à DirectX est révolue.

D'autre part parce que Apple a déjà 2 ans d'avance et que le parc de machine iOS/OSX concerné par Metal est homogène, contrairement à Android où il est impossible de savoir quelles machines seront concernées. De ce qu'on sait pour le moment, seuls les téléphones haut de gamme sortis en 2012 et ultérieurs sont concernés, mais d'après Ars Technica l'implémentation de Vulkan nécessitera une mise à jour majeure qui n'arrivera probablement pas avant 1 an et qui ne touchera donc qu'un nombre limité de machines.

Ensuite parce que les développeurs de Jeux et de moteurs 3D savent que malgré la PDM d'Android, c'est iOS qui leur rapporte le plus (Cf les 95% de piratage de Monument Valley sur Android)

L'API Metal concerne autant iOS que le Mac, plateforme où il est possible de vendre des jeux AAA assez chers à des clients qui ont les moyens. Les développeurs de moteur 3D (qui sont nombreux) n'ont pas les moyens de faire l'impasse sur Metal, la concurrence est trop rude.

avatar huexley | 

"Le marché du jeu vidéo est clairement devenu une priorité pour Apple. L'époque où il n'était question que de faire bonne figure face à DirectX est révolue."

La bonne blague. Des exemples récents ? Aka des drivers pas moisi pour faire tourner des CG anémiques, des hits récents ? Parce que la je vois pas !

avatar Aldwyr | 

@huexley :
La parce que prend les jeux vidéo durant les Conférence d'Apple sur iOS. La visibilité que donne Apple au jeu vidéo sur l'App store ?
Le fait que ce qui se vend le mieux sur l'app store, c'est les jeux ? Le fais que steam propose de plus en plus de jeu sur Mac OS X ?
Bref, il n'y a pas mal d'élément qui montre que Apple commence à s'intéresser au jeux vidéo.

avatar Aldwyr | 

@aldwyr :
La part des jeux *

Il est impossible de modifier son commentaire sur iPhone...

avatar Sostène Cambrut | 

@huexley

Hmmm, dans la mesure où on parle principalement de jeu mobile ici (on compare 2 Api Mobile) je ne vois pas bien ce que ton histoire de drivers vient foutre là.

Regarde bien le marché du jeu vidéo mobile et tu verras bien que les jeux sortent toujours en premier sur iOS.

Maintenant, l'exemple qui illustre le mieux mon propos sur les efforts d'Apple en matière de jeux videos c'est sans doute l'Api Metal sur OSX dont on aurait jamais osé rêver il y a 3 ans (rappelle toi des discussions quand Apple a enfin adopter OpenGL 4, et l'avenir sombre qu'on prévoyait déjà)

Et Metal c'est du sérieux. Ça concerne autant le milieu vidéoludique que professionnel. Des apps comme PixelMator et Affinity Designer et Photo se montrent déjà bien plus performantes que leur équivalent chez Adobe (sur les outils comparables évidemment). Adobe ne va pouvoir rester les bras croisés si elle veut garder sa clientèle Mac.

avatar jbv33670 | 

Tout à fait d'accord.

La stratégie graphique d'Apple est incompréhensible. Ils font parti du Khronos groupe mais rien pour promouvoir ou faire évoluer.

A croire que c'est juste pour les ralentir.
Ils rendent OpenGL et ES moins crédibles.

avatar fanchig | 

Et le fait de choisir amd plutôt qu'nvidia n'aide pas...
Apple semble faire des mauvais choix.

avatar Sostène Cambrut | 

@fanchig

Apple a choisi AMD parce qu'elle a de plus gros moyens de pression. Ça a toujours été la croix et la bannière pour avoir des drivers correct sur Mac. Ça tient autant au fait que les constructeurs ont toujours refusé de laisser les clés de leur matériel à Apple, qu'à Apple qui a toujours refusé de laisser les clés de son OS.

Ensuite, nVidia est un concurrent direct d'Apple sur le mobile, au contraire d'AMD

Pour finir, nVidia est pieds et poings liés à l'univers Microsoft/DirectX là où AMD peut se permettre un peu plus de souplesse.

Laissons le temps à Metal de se développer. Il n'a fallu qu'un an à Apple pour proposer Metal sur iOS et OSX. Elle a aujourd'hui des moyens qu'elle n'avait pas avant et si Steve Jobs a toujours exprimé son mépris face au jeu vidéo (sans doute parce qu'il était conscient d'avoir perdu la guerre contre DirectX) ça n'a pas l'air d'être le cas de la nouvelle équipe en charge du logiciel. Et Tim Cook est certainement assez souple pour laisser un peu plus de latitude aux constructeurs afin de proposer des drivers de meilleure qualité.

avatar elamapi | 

Alors, quand on regarde un peu le monde du jeu.

PC Win = DX & OpenGL
ps3/ps4 = version légèrement modifié d'OpenGL
xbox 360/one = DX & OpenGL
Wii / Wii U / 3DS = version légèrement modifié d'OpenGL
Android = OpenGL
WinPhone = DX light + OpenGL
Mac = Metal & QDX3D & OpenGL
iOS = Metal + OpenGL

Si je devais développer un peu, que choisirais je ?

avatar robrob | 

Si tu veux faire un jeu pour mobile, tu choisis Metal parce que c'est ca vise la plate-forme qui te rapportera le plus. Sa presence ou non sur Mac est negligeable pour le dev de jeux.

avatar RyDroid | 

OpenGL ES marche aussi sur iOS. Il serait plus intelligent de choisir OpenGL ES pour viser large, et potentiellement ensuite faire des déclinaisons plus optimisées. De plus, il y a plus d'expériences sur OpenGL ES (humaines, sous forme de documentation non officielle comme les questions sur les forums et d'exmples) et d'outils qui vont avec. Améliorer les graphiquismes de 5-20% n'entrainera probablement pas des ventes beaucoup plus importantes, d'où l'intérêt de viser en large au moins dans un premier temps.

avatar Sostène Cambrut | 

@RyDroid

D'un point de vue purement pratique je suis parfaitement d'accord avec toi. Et dans un monde sans concurrence ce serait probablement l'attitude la plus intelligente à avoir, parce que c'est celle qui demande le moins d'énergie. Mais dans les faits, il faut être le meilleur en tout pour attirer le client. Donc les développeurs vont naturellement vers des solutions plus optimisées et c'est tant mieux.

En tout cas je trouve que Vulkan est une excellente nouvelle pour la plateforme Android, et je me demande quel impact ça va avoir au long terme sur le développement d'OpenGL.

avatar Aldwyr | 

@elamapi :
Celui qui rapporte le plus. Et actuellement, c'est le marché mobile avec iOS en tête.
Donc métal. C'est con, mais les société vont là où ça rapporte le plus. Et si Nintendo sort des jeux sur iOS, c'est qu'il y a une raison...

avatar Sostène Cambrut | 

@elamapi

Si t'as bien suivi la keynote tu dois savoir que Metal est une variation d'OpenGL et OpenCL aussi ^_^

Par ailleurs, je te dirais que ton raisonnement devrait aussi s'appliquer au PC, où DirectX est pourtant ultra majoritaire.

Ensuite les boites qui développent leur propre moteur PC et Mac sont extrêmement rares. À ma connaissance il n'y a que Blizzard qui le pratique. Donc les jeux multiplateformes sont de toute façon développer avec des solutions qui sont déjà multiplateformes comme Unity3D, ou Unreal Engine. Et avec Frostbyte qui arrive sur le terrain, la concurrence va être féroce entre ces développeurs qui vont nécessairement devoir utiliser tous les outils mis à leur disposition pour proposer le meilleur moteur.

avatar elamapi | 

Pour n'en citer qu'un ... Gameloft ... un gros producteur de jeu, qui utilise un moteur OpenGL pour porter ces jeux en un minimum de temps sur Android/MACOS/WinXX/Wii/DS/3DS/PSxx/Xbox etc ....

avatar Sostène Cambrut | 

@elamapi

Dans la mesure où tous les jeux GameLoft sont maintenant optimisés pour Metal, tu me fais quand même un peu rigoler.

Pour info, Asphalt 8 a été l'un des tous premiers jeux optimisés pour Metal.

avatar melaure | 

Tout a fait d'accord, Metal sera encore un truc à ranger avec la Pippin et restera totalement lié a iOS. Sostène n'a pas compris que dans le marché des technos graphiques, hors DirectX et OpenGL point de salut. La dernière autre techno sympa était le glide de 3DFx et on a vu comment ça a fini ...

avatar Sostène Cambrut | 

@melaure

Sur iOS, si t'es pas à jour avec Metal t'as relativement peu de chances d'être mis en avant sur l'AppStore. Ce sera pareil sur le Mac AppStore.

Par ailleurs, et comme je l'ai déjà dit, il y a un marché concurrentiel sur le Mac pour les développeurs de moteur 3D. C'est eux qui vont faire le développement de Metal.

Glide de 3DFx a été avalé par DirectX et était lié à un matériel spécifique. Ce n'était pas une solution universelle sur PC comme pouvaient l'être OpenGL ou DirectX.

Metal est compatible avec tous les Macs de 2012 et ultérieurs et n'a pas d'autre concurrent que OpenGL

Pardonne moi de te dire que ton raisonnement est complètement biaisé. Il n'est pas question de concurrencer DirectX sur Windows mais de concurrencer OpenGL sur OSX.

Aspyr et Feral utilisent des technologies assez proche de Wine sur Linux pour convertir des instructions DirectX en instructions OpenGL, et le moins qu'on puisse dire c'est que le résultat est loin d'être satisfaisant. Ça sera certainement beaucoup efficace avec Metal.

Pour finir, les jeux développés à la base pour être multiplateformes ne sont pas développés sur un moteur interne mais sur un moteur externe comme Unity3D ou Unreal Engine. Ce qui risque surtout d'arriver c'est que ces boites qui font déjà l'effort de développer pour OpenGL et DirectX vont simplement abandonner OpenGL pour se concentrer sur DirectX (toute plateforme Microsoft) Metal (toute plateforme Apple) Vulkan (toute plateforme Android) et abandonner les revenus faméliques de la plateforme Linux (OpenGL)

avatar elamapi | 

Pour avoir testé, Metal <> OpenGL ... y a juste rien a voir au niveau du code et de la conception, mais c'est pas grave....

Et comme vous l'avez tous super bien dis, je vais penser à iOS en écrivant mon jeu. Je vais donc choisir ... OpenGL car bien qu'un peu bridé sur cette plateforme il va fonctionner partout avec un minimum de modif.

De toute façon, c'est bien simple, ça fait presqu'un an que metal est la, et ... y a toujours rien. Surtout que bon, si au moins niveau gain c'était le jour et la nuit, mais même pas. On va gagner un poil en autonomie et à peine en qualité (mais pas en perf).

avatar Sostène Cambrut | 

@elamapi

"De toute façon, c'est bien simple, ça fait presqu'un an que metal est la, et ... y a toujours rien."

Euh...

http://appleinsider.com/articles/14/11/20/roundup-the-best-games-showcasing-apples-metal-api-for-ios-8

Tous les jeux GameLoft ?
Tous les nouveaux jeux créés avec Unity3D ?
Tous les nouveaux jeux créés avec Unreal Engine ?

PixelMator et les innombrables apps Photos de l'AppStore ?

"Surtout que bon, si au moins niveau gain c'était le jour et la nuit, mais même pas. On va gagner un poil en autonomie et à peine en qualité (mais pas en perf)."

Cette phrase n'a aucun sens. À performances égales on a donc gagner de l'autonomie et en qualité. Donc à consommation énergétique et à qualité égale on gagne en perf. Ça parait pourtant logique.

Les performances de Metal sont en moyenne 10% supérieures à celles d'OpenGL. Mais sur certain points elles sont considérablement meilleures (cf la demo Zen Garden impensable en OpenGL)

Maintenant, qu'il soit plus difficile pour un développeur indépendant de manipuler des Api de bas niveau et changer ses habitudes, je peux le comprendre.

avatar elamapi | 

Au fait ... les jeux qui génère le plus de frics sur Mobile, ce ne sont pas les monstres en 3D hein ... c'est les Candy Crush & Co avec leur achat in'app.

Et bon, Metal pour candy crush ... voila quoi ...

avatar Sostène Cambrut | 

@elamapi

Candy Crush & Co sont pas fait avec des moteurs maison mais avec des moteurs universels (Unity pour Candy Crush je crois) donc dans la mesure où qui peut le plus peut le moins, Metal est peut-être inutile pour Candy Crush mais il est bien là...

CONNEXION UTILISATEUR