Même si macOS Mojave sera toujours fourni avec OpenGL et OpenCL, Apple a été très clair : l’avenir est à Metal et c’est cette API dédiée à la carte graphique que les développeurs doivent utiliser en priorité. Du côté d’OpenGL, Metal a déjà fait ses preuves en offrant des performances souvent bien meilleures, notamment dans les jeux qui ont été optimisés pour la technologie d’Apple. En revanche, on manque encore de recul pour OpenCL, mais les premiers tests ne sont pas encourageants.
Rappelons tout d’abord qu’OpenCL est une API qui permet d’effectuer des calculs en profitant de toutes les ressources d’un ordinateur, processeur et carte graphique. Cette technologie a été lancée à l’initiative d’Apple pour Snow Leopard, mais c’est un standard au même titre qu’OpenGL. Problème, Nvidia a boudé ce standard au profit de CUDA, ce qui a in fine privé OpenCL d’une présence aussi large qu’escompté.
En 2018, OpenCL est malgré tout utilisé par plusieurs apps professionnelles, dont DaVinci Resolve 14 (un outil de rendu vidéo) qui présente l’intérêt supplémentaire de fonctionner également avec Metal. Cela fait de ce logiciel un candidat idéal pour comparer les deux technologies et c’est précisément ce qu’a fait le site Barefeats. Le bilan n’est pas très favorable au nouvel entrant : sur tous les tests, OpenCl a fait mieux que Metal, parfois même deux fois mieux.
Le test a été mené sur un iMac Pro octocore équipé de la carte graphique haut de gamme, une AMD Pro Vega 64, et relié pour certains tests à une ou deux cartes graphiques externes, des Vega Frontier. Pour chaque configuration, un effet qui nécessite un calcul important a été appliqué sur un même fichier, en utilisant OpenCL et Metal successivement.
Les résultats parlent d’eux-mêmes, mais dans le détail, on note qu’OpenCL creuse l’écart en multipliant les cartes graphiques. Avec trois cartes utilisées en même temps, le rendu est presque deux fois plus rapide qu’avec Metal, ce qui est une différence très significative. C’est moins visible avec une seule carte graphique, par exemple celle fournie avec l’iMac Pro, où il n’y a plus qu’un petit écart entre les deux technologies. À l’heure où Apple met en avant la possibilité d’utiliser des cartes graphiques externes pour obtenir de meilleures performances, ce constat tombe d’autant plus mal.
C’est une mauvaise nouvelle pour Metal, mais il convient de la relativiser. OpenCL est née il y a une dizaine d’années alors que Metal a tout juste quatre ans, et l’API n’a pas été créée pour les calculs parallèles. Apple a probablement une belle marge de manœuvre pour optimiser le nouveau venu et si Mojave n’a pas retiré OpenGL et OpenCL, c’est bien qu’il y a une raison. Il faudra refaire le point sérieusement quand Metal deviendra la seule technologie vraiment disponible sur macOS.