Apple Deeptech : Metal 4 : l’API graphique qui tourne définitivement le dos à Intel

Metal 4, annoncé à la WWDC25 pour macOS 26 Tahoe, marque une rupture architecturale majeure : exclusivement conçue pour Apple Silicon, cette nouvelle API graphique abandonne Intel, introduit MTLTensor pour fusionner GPU et machine learning, et déploie MetalFX Frame Interpolation et Denoising pour les jeux AAA sur Mac.

Le gaming sur Mac a longtemps été un sujet délicat. Apple mettait en avant des chiffres de performance impressionnants, les développeurs hochaient poliment la tête, puis continuaient à cibler Windows et PlayStation. Avec macOS 26 Tahoe, quelque chose a changé, discrètement mais profondément. Une nouvelle version de Metal, l’API graphique fondamentale du Mac, a été annoncée à la WWDC25 en juin 2025. Elle ne se contente pas d’ajouter des fonctionnalités : elle coupe le cordon avec Intel, redessine l’architecture de programmation GPU, et converge gaming et intelligence artificielle dans un même pipeline. Voici ce que Metal 4 change vraiment, au-delà des présentations marketing.

Apple DeepTech

Un peu de contexte : dix ans de Metal

Avant de plonger dans Metal 4, il faut comprendre d’où vient cette API. Metal 1.0 est née en 2015, avec OS X El Capitan. L’idée était simple : donner aux développeurs un accès bas niveau au GPU du Mac, en contournant OpenGL et OpenCL, jugés trop lents et trop abstraits. Metal était à l’époque une réponse directe à DirectX de Microsoft et à Vulkan qui se profilait.

Pendant l’ère Intel, les mises à jour majeures de Metal arrivaient tous les deux ans environ, chaque version ajoutant de nouvelles capacités au-dessus de la précédente. La cadence était régulière, prudente, compatible avec un parc matériel hétérogène : plusieurs générations de GPU Intel et AMD coexistaient sur les Mac.

La transition Apple Silicon a changé la donne. Avec la puce M1 en 2020, Apple a commencé à contrôler entièrement le matériel et le logiciel. Les mises à jour majeures de Metal sont passées à un rythme triennal. Et Metal 4, annoncé en juin 2025 pour macOS 26 Tahoe, représente une rupture de nature différente de toutes les précédentes.

La fracture Intel/Apple Silicon devient officielle

Metal 4 ne fonctionne que sur Apple Silicon ou sur un processeur A14 Bionic minimum. Les Mac Intel ne sont pas concernés. Ils ne disparaissent pas immédiatement de macOS 26 (certains modèles Intel sont encore supportés), mais ils restent limités à la famille Metal Mac 2 et ne pourront pas accéder aux nouvelles capacités de Metal 4.

Ce n’est pas une décision anodine. C’est Apple qui dit officiellement que l’avenir graphique du Mac, en matière de gaming et d’IA sur GPU, se construira exclusivement autour de ses propres puces. Les deux API coexistent dans macOS 26 : un développeur peut utiliser Metal 3 pour ses opérations existantes, et Metal 4 pour les nouvelles fonctionnalités, en synchronisant les deux via des événements Metal. Mais l’orientation est claire.

Ce qui rend cette rupture encore plus significative : le Window Server de macOS 26 lui-même effectue désormais des opérations Metal 4. Le système de composition de l’interface graphique, celui qui gère chaque fenêtre ouverte sur votre écran, tire parti des capacités exclusives d’Apple Silicon.

Ce qui change dans la plomberie : MTL4CommandQueue et MTLTensor

Metal 4 introduit un nouveau type de file de commandes GPU : la MTL4CommandQueue. Cette notion de « command queue » est centrale dans Metal : c’est par elle que votre application envoie du travail au GPU. Jusqu’ici, une seule variante existait. Metal 4 en ajoute une dédiée aux opérations avancées, notamment la gestion des ressources sparse par placement, une technique qui permet de mapper dynamiquement une grande texture virtuelle vers de la mémoire physique selon les besoins, sans réserver toute la mémoire d’un coup. C’est particulièrement utile pour les jeux à monde ouvert avec des textures très haute résolution.

Plus intéressant encore, Metal 4 introduit le type MTLTensor. Il s’agit d’une structure de données multidimensionnelle conçue pour les charges de travail de machine learning sur GPU. Un tenseur Metal peut contenir des données dans autant de dimensions que nécessaire : images, séquences, poids de réseaux neuronaux. Couplé au nouveau MTL4MachineLearningCommandEncoder, Metal 4 permet d’exécuter des réseaux entiers de machine learning directement dans la timeline GPU, en parallèle des rendus graphiques classiques.

Cela signifie concrètement qu’un jeu pourrait, dans un seul pipeline Metal 4, rendre une scène en 3D et appliquer un filtre de débruitage par intelligence artificielle sur le résultat, sans quitter le GPU et sans aller chercher le CPU. La convergence graphique/IA cesse d’être un discours marketing pour devenir une API concrète.

Le Metal Shading Language, le langage qui contrôle l’exécution sur le GPU, est désormais basé sur C++17. Cela facilite la réutilisation de code entre le CPU et le GPU, et s’aligne avec les pratiques des développeurs qui travaillent déjà sur des moteurs multiplateformes.

MetalFX : l’équivalent Apple du DLSS de NVIDIA

Si vous connaissez les GPU NVIDIA, vous avez probablement entendu parler de DLSS ou de FSR d’AMD : des techniques qui permettent à un jeu de rendre à une résolution inférieure, puis d’upscaler intelligemment l’image pour atteindre la résolution d’affichage finale. Le résultat ? Des performances bien meilleures, avec une qualité visuelle proche du rendu natif.

Apple a son équivalent depuis Metal 3 : MetalFX. Metal 4 l’étend avec deux nouvelles capacités majeures.

L’interpolation de frames : doubler la fluidité sans doubler le travail

La première est l’interpolation de frames. Le principe : au lieu de rendre 60 images par seconde en faisant travailler le GPU à pleine puissance pour chacune, le jeu en rend 30 ou 60, et MetalFX en génère autant d’intermédiaires. L’algorithme analyse les vecteurs de mouvement et les données de profondeur entre deux frames réelles, et calcule ce que devrait contenir la frame intermédiaire.

Pour le joueur, le résultat est une animation plus fluide, un rendu qui paraît tourner à 90 ou 120 fps sur un écran ProMotion, même si le moteur du jeu ne génère que 60 images par seconde. Pour le développeur, c’est un moyen concret de cibler 120 Hz sans doubler la charge GPU.

La technique est comparable à ce que NVIDIA appelle « frame generation » dans DLSS 3. Ce n’est pas une magie sans compromis (des artefacts peuvent apparaître sur les objets rapides), mais sur un écran 120 Hz comme celui d’un MacBook Pro, les bénéfices perceptifs sont réels.

Le débruitage pour le ray tracing : réalisme sans sacrifier les performances

La seconde nouveauté de MetalFX est le débruitage intégré au pipeline d’upscaling. Le ray tracing (ou lancer de rayons) est la technique qui permet de simuler la lumière avec un réalisme remarquable dans les jeux : réflexions exactes sur les surfaces, ombres douces, éclairages indirects. Son problème historique, c’est le coût en performance. Pour réduire ce coût, on peut lancer moins de rayons par pixel. Mais moins de rayons signifie une image bruitée, granuleuse, avec des reflets imprécis.

MetalFX Denoised Upscaler résout ce compromis en intégrant directement le débruitage dans la phase d’upscaling. Le jeu lance peu de rayons (économisant du GPU), l’image bruitée est transmise à MetalFX, qui la nettoie et l’upscale en même temps. Le résultat final est une image propre à pleine résolution, obtenue beaucoup plus rapidement qu’un ray tracing complet.

Apple a également amélioré le temporal upscaler pour qu’il supporte des résolutions d’entrée variables. Un moteur peut désormais abaisser dynamiquement sa résolution de rendu pendant les scènes particulièrement lourdes, puis la remonter quand les ressources le permettent, MetalFX s’adaptant en temps réel.

Le GPU du M5 et les Tensor Cores dans chaque cœur

Metal 4 coïncide avec l’introduction de la puce M5, qui embarque un Neural Accelerator dans chaque cœur GPU. Apple expose ces accélérateurs dédiés via les nouvelles APIs Tensor de Metal 4. Concrètement, les calculs de machine learning sur GPU ne se font plus uniquement sur les cœurs de calcul généraux : ils peuvent déléguer aux accélérateurs spécialisés de chaque cœur GPU.

Le ray tracing passe quant à lui à sa troisième génération de moteur matériel dans M5, et le « dynamic caching » (la gestion dynamique du cache GPU) à sa deuxième génération. Ces deux fonctions sont exposées via Metal 4 aux développeurs qui souhaitent les exploiter explicitement.

Ce que ça signifie pour vous, utilisateur de Mac

Si vous utilisez un Mac avec Apple Silicon (M1, M2, M3, M4, M5), vous bénéficiez déjà implicitement de Metal 4 via le Window Server de macOS 26. Pour l’expérience utilisateur directe, les bénéfices arriveront au fur et à mesure que les développeurs de jeux adopteront MetalFX Frame Interpolation et Denoising dans leurs titres.

Les jeux qui intégreront ces technologies offriront une fluidité et une qualité visuelle inédites sur Mac, notamment sur les écrans ProMotion 120 Hz des MacBook Pro et des Studio Display. Ce n’est pas une révolution instantanée, mais Apple construit patiemment l’infrastructure technique qui manquait pour que les développeurs de jeux AAA prennent le Mac plus au sérieux.

Si vous êtes développeur, les sessions WWDC25 « Discover Metal 4 » et « Go further with Metal 4 games » sont les points d’entrée recommandés. La documentation officielle sur Understanding the Metal 4 core API sur developer.apple.com détaille l’API complète.

La convergence GPU/IA, un signal à long terme

Ce qui est peut-être le plus intéressant dans Metal 4, ce n’est pas le gaming. C’est la convergence. Pour la première fois, une version de Metal fusionne explicitement dans un même modèle de programmation les opérations graphiques classiques et le machine learning sur GPU. MTLTensor, MTL4MachineLearningCommandEncoder, les Neural Accelerators de M5 : Apple ne traite plus le GPU comme une unité purement graphique. Il le positionne comme un coprocesseur universel, capable de rendre, d’inférer et d’apprendre, dans le même pipeline, sur le même matériel.

C’est cohérent avec la stratégie Apple Intelligence, qui repose sur des modèles d’IA exécutés localement. Plus le GPU du Mac est capable de traiter des tenseurs efficacement, plus les fonctionnalités d’IA peuvent être rapides et efficaces sans envoyer les données dans le cloud. Metal 4 est donc aussi, à sa façon, une brique de l’infrastructure Apple Intelligence.

Metal 4 mérite d’être compris non pas comme une mise à jour graphique de plus, mais comme le signal clair qu’Apple considère le GPU de ses puces comme un actif stratégique central pour les dix prochaines années.

Titre de la page du support techniqueURL officielleDate de publication
Discover Metal 4 – WWDC25https://developer.apple.com/videos/play/wwdc2025/205/Juin 2025
Metal 4: Two new features that will make a difference for Mac gaminghttps://9to5mac.com/2025/06/18/metal-4-two-new-features-that-will-make-a-difference-for-mac-gaming/18 juin 2025
Understanding the Metal 4 core APIhttps://developer.apple.com/documentation/metal/understanding-the-metal-4-core-apiJuin 2025
makeMTL4CommandQueue()https://developer.apple.com/documentation/metal/mtldevice/makemtl4commandqueue()Juin 2025
Go further with Metal 4 games – WWDC25https://developer.apple.com/videos/play/wwdc2025/211/Juin 2025

450 nouvelles polices avec Google Doc !Font

Google annonce sur son BLOG, l’arrivée de 450 nouvelles polices de caracteres pour Google Docs.

NewImage

 

Fini les documents tristes..

Google propose déjà 500 polices sur le site : http://www.google.com/webfonts 

 

Capture d écran 2012 05 19 à 09 27 33

Bonne initiative…

 

 

Henri Dominique Rapin

Mac :: Snow Leopard :: Exécuter des programmes 32 bits sur un OS 64 bits

64bit_icon_20090824.jpg

Fondamentalement du code compilé en 32 bits ou 64 bits peut être exécutés quelque soit la plateforme 32 bits ou 64 bits. La contrainte principale concerne la taille des données et donc du type de variable utilisée par le compilateur.

Lorsque vous créez un programme en C, Objective-C ou tout autre langage vous devez définir vos variables, en général un entier est déclaré par le mot « int ». D’un façon tout aussi commune cet « entier » est codé sur 32 bits sur un système 32 et bien sur sur une longueur de 64 bits sur un OS de 64 bits.

En choisissant un modèle de données codées sur 64 bits, un système 32 bits ne peut exploiter les données ce qui à pour effet direct de ne pas autoriser l’exécution du programme. Alors comment fait Apple pour permettre l’exécution de programmes compilées en 32 bits pour être exécutés sur Snow Leopard 64 bits ?

En choisissant le mode LP64, Apple reste sur un modèle 32 Bits sauf pour l’adressage des pointeurs qui lui utilise 64 Bits. Un pointeur étant juste une adresse en mémoire, Apple se donne ainsi la possibilité d’utiliser plus d’adresses de mémoire qu’avec des pointeurs en 32 Bits.

Par contre les types de variable restent sur un mode 32 Bits afin d’assurer la compatibilité.

Microsoft à choisi un solution plus radicale : LLP64 tous est en 64 bits, dès lors aucune application 32 Bits ne peut être exécutée sur un système 64 Bits de Microsoft. L’astuce trouvée par Redmond est de placer un « émulateur » 3 bits dans ces systèmes.

les deux premières lignes sont présentes à titre indicatif, car le probleme apparu aussi lors du passage vers une architecture 32 Bits.

Tableau comparatif des différents modes :

Modèle de données Taille d’un short (bits) Taille d’un int (bits) Taille d’un long (bits) Taille d’un pointeur (bits)
LP32 16 16 32 32
ILP32 16 32 32 32
LP64 16 32 64 64
LLP64 16 32 32 64
ILP64 16 64 64 64

Web :: SMASHING MAGAZINE :: Web & WordPress

SMASHING MAGAZINE  produit pas mal d’articles sur les technos Web et en particulier WordPress… a lire donc si vous comptez utiliser un blog.

Ce site est en Anglais mais relativement accessible, qui plus est il est graphiquement sympa.

Image_23.png

Vous y trouverez des “Cheat Sheet” sorte d’aide mémoire :

Mac :: Dev :: Librairies Numériques

Apple propose des librairies Numériques dites optimisées pour Altivec (Power PC G5) ou Intel.

Si vous êtes développeurs vous devriez regarder de près ces librairies. Elles permettent notamment le support de donnés en 64Bits comme l’utilisation des librairies optimisées de libm et libmx.

/System/Library/Frameworks/Accelerate.framework

Henri Dominique Rapin

Mac :: Cocoa :: apprendre à programmer pour iPhone à Stanford

L’université de Stanford propose une formation Cocoa gratuite de 10 cours…

Stanford on iTunes U

Les cours sont fournis sous forme de vidéo et avec les fichiers PDF qui vous permettront de lire le cour.

Bien sur le tout est en Anglais.

Stanford on iTunes U.png

Windows :: langage :: Small Basic

ça y est il est en Français :

http://blogs.msdn.com/smallbasic/archive/2009/04/14/v0-4-of-small-basic-says-bonjour.aspx

Un grand Merci aux deux Français : Thierry Huguet  et Fabien Lavocat

Pour ceux qui ne connaissent pas, il s’agit d’un langage d’apprentissage à la programmation… super sympa à utiliser avec vos enfants.

  • Site officiel de Small Basic.
  • Blog officiel de Small Basic.

  • Windows :: Utilitaire :: Expression Régulières

    GRATUIT

    Qui n’a pas cherché un bon outil afin de créer des RegEx (Expression régulières) pertinentes ? Voici un utilitaire bien fait et pertinent. Indispensable dans la trousse à outil de bon développeur…

    [EN] http://www.radsoftware.com.au/regexdesigner/

    Traduction de la page avec Google :

    http://74.125.39.132/translate_c?hl=fr&ie=UTF-8&sl=en&tl=fr&u=http://www.radsoftware.com.au/regexdesigner/&prev=_t&usg=ALkJrhhqDw4QrhFOw4VuuwwVnERROh2bIA

    Microsoft : XML Notpad 2007

    Un utilitaire indispensable de nos jours…

    XML Notpad 2007

    Mac :: Objective-C :: De C++ à Objective-C

    Pour ceux qui veulent étudier Objective-c, voici un document exceptionnel en Français de Pierre Chatelier "De C++ à Objective-C" une référence indispensable.

    http://ktd.club.fr/programmation/fichiers/cpp-objc-fr.pdf

    Mac :: Dev :: Growl pour Xcode

    Je découvre « GrowlCode » pour Xcode et je suis un grand fan de « growl ».

    Ce plugin affiche les messages d’alertes d’Xcode…

    GrowlCode – A Growl plugin for Xcode

    growlcodescreen.png

    Mac :: AppleScript :: Changer la vue d’une fenêtre

    Comment changer la vue de la fenêtre principale du « Finder », colonnes, icônes etc..

    tell application "Finder"
    	set current view of Finder window 1 to (run script "column view")
    end tell

    Les autres options sont:

    - column view	
    - flow view	
    - group view	
    - icon view	
    - list view

    Attention il faut une fenêtre ouvert…

    Image 1.png

    Mac :: AppleScript :: Obtenir les informations d’une liste de lecture ou podcast

    Voici un script qui permet d’obtenir les information sur les morceaux ou séquences présents dans une liste de lecture ou podcast :

    set nfo to {}
    tell application "iTunes"
    	set podtracks to every track of playlist "podcasts"
    	repeat with a_track in podtracks
    		set end of nfo to {artist of a_track, album of a_track, ¬
    			name of a_track, rating of a_track}
    	end repeat
    end tell
    return nfo -- Liste des informations
    Untitled 2.jpg

    Mac :: AppleScript :: Ouvrir un fichier .dmg ou « disk image »

    En utilisant la commande « open » du Terminal vous pouvez ouvrir ou plutôt « monter » sur le bureau un fichier Image Disk ou .dmg.

    do shell script "open mon_disk_image.pkg"
    Image 1.png

    Mac :: Applescript :: Récupérer la version de Mac OS X

    Comment récupérer la version de Mac OS X ?

    Le plus direct est d’utiliser la commande « sw_vers » exécutée dans le Terminal.

    Cette commande retourne des informations en fonction de l’argument :

    - "sw_vers -productName" 		: Retourne le nom de l'OS
    - "sw_vers -productVersion" 	: Retourne la version de Mac OS X
    - "sw_vers -buildVersion"		: Retourne le Build
    

    La page man de cette commande : http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man1/sw_vers.1.html

    set os_version to do shell script "sw_vers -productVersion"
    Image 2.png

    Apple :: : iWork :: iWork et le XML

    Apple publie un document détaillant les spécificités du XML utilisé dans KeyNote.

    http://developer.apple.com/documentation/AppleApplications/Conceptual/iWork2-0_XML/Chapter01/chapter_1_section_1.html

    A découvrir…

    Dev :: User Interaction 101

    Voici un très bon article d’Andy Matuschak sur la façon d’approcher la relation Homme/logiciels.

    User Interaction 101(En anglais)

    Andy est connu pour son framework pour Cocoa « sparkle » qui propose la mise à jour des logiciels par Internet, un très grand nombre d’utilitaires l’utilise.

    http://sparkle.andymatuschak.org/