Metal ist eine hardwarebeschleunigte 3D-Grafik- und Compute-Shader- API von Apple mit geringem Overhead , die mit iOS 8 eingeführt wurde . Metal vereint Funktionen ähnlich wie OpenGL und OpenCL in einer einzigen API. Ziel ist die Leistungssteigerung durch direkten Zugriff auf die GPU-Hardware für Apps unter iOS , iPadOS , macOS , tvOS und visionOS (jedoch nicht watchOS ). Es ähnelt Low-Level-APIs anderer Plattformen wie Vulkan und DirectX 12 .

Metal ist eine objektorientierte API, die mit den Programmiersprachen Swift , Objective-C oder C++17 [ 4 ] aufgerufen werden kann . Die vollständige GPU-Ausführung wird über die Metal Shading Language gesteuert. [ 5 ]

Merkmale

Metal zielt darauf ab, einen ressourcenschonenden Zugriff auf die GPU zu ermöglichen. Befehle werden vorab kodiert und anschließend zur asynchronen Ausführung an die GPU übermittelt. Die Anwendung steuert, wann auf den Abschluss der Ausführung gewartet wird. Dadurch können Entwickler den Durchsatz erhöhen, indem sie während der GPU-Ausführung weitere Befehle kodieren, oder Energie sparen, indem sie explizit auf den Abschluss der GPU-Ausführung warten. Die Befehlskodierung ist zudem CPU-unabhängig, sodass Anwendungen Befehle für jeden CPU-Thread unabhängig kodieren können. Schließlich werden die Renderzustände vorab berechnet, sodass der GPU-Treiber die Renderpipeline vor der Befehlsausführung konfigurieren und optimieren kann. [ 6 ]

Metal verbessert die Möglichkeiten der GPGPU- Programmierung durch den Einsatz von Compute Shadern . Metal verwendet eine spezielle Shading-Sprache , die auf C++14 basiert und mit Clang und LLVM implementiert wurde . [ 7 ]

Metal ermöglicht Anwendungsentwicklern die Erstellung von Metal-Ressourcen wie Puffern und Texturen. Ressourcen können auf der CPU, der GPU oder beiden zugewiesen werden und bietet Funktionen zum Aktualisieren und Synchronisieren zugewiesener Ressourcen. Metal kann außerdem den Zustand einer Ressource während der gesamten Laufzeit eines Befehlscodierers sichern. [ 8 ] [ 9 ]

Unter macOS bietet Metal Anwendungsentwicklern die Möglichkeit, die auszuführende GPU auszuwählen. Sie können zwischen der stromsparenden integrierten GPU der CPU, der dedizierten GPU (bei bestimmten MacBooks und Macs) oder einer externen GPU, die über Thunderbolt angeschlossen wird, wählen. Zudem können Anwendungsentwickler festlegen, wie GPU-Befehle auf welchen GPUs ausgeführt werden, und erhalten Empfehlungen, auf welcher GPU ein bestimmter Befehl am effizientesten ausgeführt werden kann (Befehle zum Rendern einer Szene können von der dedizierten GPU ausgeführt werden, während Nachbearbeitung und Anzeige von der integrierten GPU übernommen werden). [ 10 ]

Metall-Performance-Shader

Metal Performance Shaders ist eine hochoptimierte Bibliothek von Grafikfunktionen, die Anwendungsentwicklern hilft, eine hohe Leistung zu erzielen und gleichzeitig den Aufwand für die Wartung GPU-spezifischer Funktionen zu reduzieren. [ 11 ] Sie bietet unter anderem folgende Funktionen:

  • Bildfilteralgorithmen
  • Verarbeitung neuronaler Netze
  • Höhere mathematische Operationen
  • Raytracing

Geschichte

Metal ist seit dem 2. Juni 2014 für iOS-Geräte mit Apple A7- Chip oder neuer verfügbar [ 12 ] und seit dem 8. Juni 2015 für Macs (Modelle ab 2012) mit OS X El Capitan . [ 13 ]

Am 5. Juni 2017 kündigte Apple auf der WWDC die zweite Version von Metal an, die von macOS High Sierra , iOS 11 und tvOS 11 unterstützt wird . Metal 2 ist keine separate API und wird von derselben Hardware unterstützt. Metal 2 ermöglicht effizienteres Profiling und Debugging in Xcode , beschleunigtes maschinelles Lernen , geringere CPU- Auslastung, Unterstützung für Virtual Reality unter macOS und insbesondere die Nutzung der Besonderheiten der Apple A11 GPU. [ 14 ]

Auf der WWDC 2020 kündigte Apple die Umstellung des Mac auf Apple Silicon an. Macs mit Apple Silicon werden über Apple-GPUs verfügen, deren Funktionsumfang die bisherigen Funktionen von macOS und iOS vereint, und die speziell auf die Tile-Based Deferred Rendering (TBDR)-Architektur der Apple-GPUs zugeschnittenen Funktionen nutzen können . [ 15 ]

Auf der WWDC 2022 kündigte Apple die dritte Version von Metal (Metal 3) an, die zusammen mit macOS Ventura , iOS 16 und iPadOS 16 veröffentlicht werden sollte . Metal 3 führt das MetalFX-Upscaling-Framework ein, das komplexe Szenen dank leistungsstarker Upscaling- und Anti-Aliasing-Funktionen sowie Unterstützung für Mesh-Shader in kürzerer Zeit pro Frame rendert. [ 16 ] Außerdem wurde die Möglichkeit angekündigt, C/C++ für die Metal-API zu verwenden. [ 17 ]

Auf der WWDC 2023 kündigte Apple ein neues Toolkit namens Game Porting Toolkit an, mit dem Spiele für Windows 10/11 portiert werden können. Es umfasst eine Testumgebung für Binärdateien, Übersetzungsschichten von HLSL nach MSL sowie Metal-cpp-Bindings. Jeremy Sandmel kündigte einen neuen Spielmodus für macOS Sonoma an , und Hideo Kojima gab die Veröffentlichung von Death Stranding im macOS App Store bekannt. [ 18 ]

Auf der WWDC 2024 kündigte Apple das Game Porting Toolkit 2 sowie die Veröffentlichung neuer Spiele wie Control: Ultimate Edition , Frostpunk 2 und Assassin's Creed Shadows für macOS an. [ 19 ]

Auf der WWDC 2025 kündigte Apple Metal 4 an, eine neue Version der API mit einem einheitlichen Befehlscodierungssystem, Unterstützung für neuronales Rendering und neuen Technologien wie MetalFX Frame Interpolation und einem Raytracing-Denoising-Algorithmus. [ 20 ]

Unterstützte GPUs

Die erste Version von Metal unterstützt folgende Hardware und Software: [ 21 ]

Die zweite Version von Metal unterstützt folgende Hardware und Software:

Die dritte Version von Metal unterstützt folgende Hardware und Software: [ 22 ]

Die vierte Version von Metal unterstützt folgende Hardware und Software:

Annahme

Laut Apple nutzen im Juni 2017 mehr als 148.000 Anwendungen Metal direkt und 1,7 Millionen Anwendungen nutzen es über übergeordnete Frameworks . [ 24 ] Die folgenden macOS-Spiele verwenden Metal für das Rendering .

Titel Entwickler (macOS-Version) Spiel-Engine Veröffentlichungsdatum von MacOS (OpenGL/DirectX) Veröffentlichungsdatum der Metallversion Hinweise zur Metallunterstützung
Ark: Survival EvolvedStudio WildcardUnreal Engine 429. August 2017
Assassin's Creed ShadowsUbisoft QuebecUbisoft Anvil20. März 2025
ARMA 3Virtuelle Programmierung Reale Virtualität 31. August 2015Metal-Unterstützung in der Beta-Phase seit dem 17. September 2017
Baldur's Gate IIILarian StudiosDivinity Engine 4.0 22. September 2023Metal-Unterstützung im Early Access seit dem 6. Oktober 2020
Ballistische ÜbertreibungAquiris Game Studio Unity Engine 528. März 2017
Batman: Arkham CityFeral InteractiveUnreal Engine 318. Oktober 2013Metal-Unterstützung seit dem 21. Februar 2019 mit Version 1.2
Batman: Der Feind im InnerenTelltale GamesVerräterisches Werkzeug8. August 2017
BattleTechWahnsinnige PläneUnity Engine 524. April 2018
Bioshock RemasteredFeral InteractiveUnreal Engine 2.522. August 2017
Bioshock 2 RemasteredFeral InteractiveUnreal Engine 2.522. Oktober 2020
Cyberpunk 2077CD ProjektREDengine 417. Juli 2025Unterstützung für Metal 4
Städte: SkylinesParadox InteractiveUnity Engine 510. März 2015Metal-Support seit dem 18. Mai 2017
Civilization VIAspyr MediaÜBERLIEFERUNG 24. Oktober 2016Metal-Support seit dem 5. April 2019
Company of Heroes 2Feral InteractiveEssence Engine 321. Januar 2015Metal-Support seit dem 19. Oktober 2018
Control: Ultimative EditionRemedy EntertainmentNordlichtmotor26. März 2025
Dead Island 2Dambuster StudiosUnreal Engine 424. Juli 2025
Deus Ex: Mankind DividedFeral InteractiveMorgendämmerungsmotor 12. Dezember 2017
DiRT RallyFeral InteractiveEGO-Motor 2.516. November 2017
Divinity: Original Sin IILarian StudiosDivinity Engine 2 31. Januar 2019
Dota 2VentilQuelle 218. Juli 2013MoltenVK wurde am 26. Februar 2018 angekündigt . [ 25 ] Die Option zur Nutzung wurde am 31. Mai 2018 verfügbar . [ 26 ]
The Elder Scrolls OnlineZenimax Online StudiosN / A4. April 201422. Oktober 2018Der OpenGL-Renderer wurde in Patch 4.2.5 durch Vulkan mittels eines MoltenVK-Wrappers ersetzt (übersetzt Vulkan-API-Aufrufe in Metal).
Empire: Total WarFeral InteractiveTW-Motor 3 4. März 2009Metal-Support seit dem 16. Dezember 2019
EVE OnlineCCP GamesN / A6. November 200714. Oktober 2021Zuvor war es von November 2007 bis Februar 2009 über DirectX 9.0 auf macOS verfügbar ; die native macOS-Version mit Metal wurde am 14. November 2021 veröffentlicht.
EverspaceFelsenbarsch Unreal Engine 426. Mai 2017
F1 2016Feral InteractiveEGO Engine 4.06. April 2017
F1 2017Feral InteractiveEGO Engine 4.025. August 2017
FortniteEpic GamesUnreal Engine 425. Juli 2017
Frostpunk11 Bit StudiosFlüssigkeitsmotor 24. Februar 2021
Frostpunk 211 Bit StudiosUnreal Engine 520. September 2024
KiesVirtuelle Programmierung Unreal Engine 420. Januar 2019
Guardians of the Galaxy: Die Telltale-SerieTelltale GamesVerräterisches Werkzeug18. April 2017
HeadlanderDouble Fine ProductionsBuddha-Motor 18. November 2016
Helden des SturmsBlizzard EntertainmentSC2-Motor 2. Juni 2015Metal-Unterstützung in der Beta-Phase seit dem 24. Januar 2017 (vorübergehend entfernt am 29. November 2017 [ 27 ] bis auf Weiteres ?)
AuftragskillerFeral InteractiveGletscher 2 20. Juni 2017
Hollow KnightTeam CherryUnity Engine [ 28 ]11. April 2017
Hollow Knight: SilksongTeam CherryUnity Engine [ 28 ]4. September 2025 [ 29 ]
Life Is Strange: Before the StormFeral InteractiveUnity Engine13. September 2018
Life Is Strange 2Feral InteractiveUnreal Engine 42019
Mafia IIIAspyr MediaIllusion Engine 11. Mai 2017
Medieval II: Total WarFeral InteractiveTW-Motor 2 17. Dezember 2015Metal-Support seit dem 25. Oktober 2018
Micro Machines World SeriesVirtuelle Programmierung Unity Engine 530. Juni 2017
Minecraft: Story Mode – Staffel 2Telltale GamesVerräterisches Werkzeug11. Juli 2017
MXGP3Virtuelle Programmierung Unreal Engine 423. November 2018
Napoleon: Total WarFeral InteractiveTW-Motor 3 2. Juli 2013Metal-Unterstützung seit dem 25. Oktober 2019 mit Version 1.2
ObduktionCyan WorldsUnreal Engine 429. März 2017
BeobachterBloober-TeamUnreal Engine 424. Oktober 2017
Quake IIid SoftwareQuake II-Engine9. Februar 2019Eine Portierung mit MoltenVK wurde als vkQuake2 veröffentlicht. [ 30 ]
AbgelehntDominique Grieshofer Unreal Engine 45. September 2016
Resident Evil 2CapcomRE-Motor10. Dezember 2024
Resident Evil 3CapcomRE-Motor18. März 2025
Resident Evil 4CapcomRE-Motor20. Dezember 2023
Resident Evil VillageCapcomRE-Motor28. Oktober 2022Erstes macOS-Spiel mit MetalFX-Unterstützung
Rise of the Tomb RaiderFeral InteractiveFundament-Engine 12. April 2018
Shadow of the Tomb RaiderFeral InteractiveFundament-Engine 2019
Sid Meiers Eisenbahnen!Feral InteractiveGamebryo1. November 2012Metal-Support seit dem 18. Dezember 2018
Die Sims 3Maxis Redwood Shores Die Sims 3 Engine 2. Juni 200928. Oktober 2020
Die Sims 4MaxisSmartSim 17. Februar 2015Metallunterstützung hinzugefügt am 12. November 2019
Sky: Kinder des LichtsThatgamecompany N / A18. Juli 2019Native Metal-Unterstützung wurde seit der Vorveröffentlichung im November 2017 hinzugefügt.
StarcraftBlizzard EntertainmentModifizierte Warcraft II-Engine 20. November 2001Metal-Unterstützung seit dem 2. Juli 2020 mit Version 1.23.5
StarCraft IIBlizzard EntertainmentSC2-Motor 27. Juli 2010Metal-Unterstützung in der Beta-Phase seit dem 24. Januar 2017
GrabräuberFeral InteractiveFundament-Engine 17. Januar 2014Metal-Unterstützung mit Version 1.2 im Juli 2019
Total War: Rome RemasteredFeral InteractiveTW-Motor 2 29. April 2021
Total War: Shogun 2Feral InteractiveTW-Motor 3 31. Juli 2014Metal-Support seit dem 4. Oktober 2019
Total War: Shogun 2: Fall of the SamuraiFeral InteractiveTW-Motor 3 18. Dezember 2014Metal-Support seit dem 4. Oktober 2019
Total War: Three KingdomsFeral InteractiveTW-Motor 3 23. Mai 2019
Total War: WarhammerFeral InteractiveTW-Motor 3 19. April 2017
Total War: Warhammer IIFeral InteractiveTW-Motor 3 20. November 2018
Total War Saga: Thrones of BritanniaFeral InteractiveTW-Motor 3 24. Mai 2018
Total War Saga: TroyFeral InteractiveTW-Motor 3 13. August 2020
Transportfieber 2Stadtspiele N / A23. Februar 2021 [ 31 ]Metallunterstützung mit MoltenVK [ 32 ] und OpenGL [ 31 ].
Universe SandboxRiesenarmee Unity Engine 5Wird noch bekanntgegebenMetal-Unterstützung in der Beta-Phase seit Juni 2017
Unreal TournamentEpic GamesUnreal Engine 4Abgesagt Metal-Support seit Januar 2017
War ThunderGaijin EntertainmentDagor-Motor 4 1. November 2012Metallunterstützung hinzugefügt am 24. Mai 2017 (entfernt im Jahr 2018 und wieder eingeführt am 27. August 2020 )
Warhammer 40.000: Dawn of War IIIFeral InteractiveEssence Engine 49. Juni 2017
Der ZeugeThekla, Inc Thekla-Motor 8. März 2017
World of WarcraftBlizzard EntertainmentWoW-Engine 23. November 2004Metal-Support seit August 2016
X-Plane 11LaminarforschungN / A30. Mai 2017Metal-Unterstützung in der Beta-Phase seit dem 2. April 2020 [ 33 ]

Siehe auch

  • Direct3D – DirectX 12 führt Low-Level-APIs ein.
  • Mantle – Low-Level-API von AMD
  • Vulkan – der ressourcenschonende Nachfolger von OpenGL
  • MoltenVK – Software-Kompatibilitätsbibliothek zur Ausführung von Vulkan-Software auf der Metal-API
  • WebGPU
  • OpenGL – plattformübergreifende Grafik-API

Referenzen

  1. ^ McWhertor, Michael (9. September 2014). „Das ist das Spiel, mit dem Apple das iPhone 6 vorgestellt hat“ . Polygon . Vox Media . Archiviert vom Original am 11. September 2014. Abgerufen am 9. September 2014 .
  2. ^ "Linas AGX-Notizen" .
  3. ^ "gist.github.com" .
  4. ^ "Erste Schritte mit Metal-CPP - Metal" .
  5. ^ Apple Inc. „Metal Shading Language Specification“ (PDF) . Archiviert (PDF) vom Original am 29. Oktober 2016. Abgerufen am 3. September 2018 .
  6. ^ „Einrichten einer Befehlsstruktur“ . Apple Inc.
  7. ^ „Leitfaden zur Metal-Shading-Sprache“ . 8. September 2014. Archiviert vom Original am 15. März 2016. Abgerufen am 10. September 2014 .
  8. ^ Apple Inc. „Einstellen des Ressourcenspeichermodus“ .
  9. ^ „Synchronisierung einer verwalteten Ressource“ . Apple Inc.
  10. ^ „GPU-Auswahl in macOS“ . Apple Inc. Archiviert vom Original am 22. November 2019. Abgerufen am 3. Mai 2020 .
  11. ^ "Metal Performance Shaders" .
  12. ^ Machkovech, Sam (2. Juni 2014). „Apple setzt verstärkt auf Gaming und kündigt die Entwicklungsplattform Metal an“ . Ars Technica . Condé Nast .
  13. ^ Smith, Colin; Meza, Starlayne (8. Juni 2015). „Apple kündigt OS X El Capitan mit optimierter Benutzererfahrung und verbesserter Leistung an“ . Newsroom . San Francisco : Apple . Archiviert vom Original am 8. Juni 2015. Abgerufen am 10. September 2017 .
  14. ^ „Metal 2“ . Apple Developer . Apple . 20. November 2017. Archiviert vom Original am 20. November 2017 – via Wayback Machine .
  15. ^ „Bring your Metal app to Apple Silicon Macs“ . developer.apple.com . Archiviert vom Original am 3. Januar 2021 . Abgerufen am 13. Juli 2020 .
  16. ^ „Discover Metal 3“ . developer.apple.com . Archiviert vom Original am 13. Juni 2022. Abgerufen am 24. Juni 2022 .
  17. ^ „Programmieren von Metal in C++ mit metal-cpp“ . developer.apple.com . Abgerufen am 10. September 2022 .
  18. ^ „WWDC 2023 – Updates für Game Porting Toolkit und Metal“ . YouTube . 5. Juni 2023. Abgerufen am 25. Juli 2025 .
  19. ^ „WWDC 2024 – Game Porting Toolkit 2 und mehr“ . YouTube . 10. Juni 2024. Abgerufen am 25. Juli 2025 .
  20. ^ „WWDC 2025 – Ankündigung von Metal 4“ . YouTube . 9. Juni 2025. Abgerufen am 25. Juli 2025 .
  21. ^ Chiappetta, Marco (11. Dezember 2018). „Apple wendet sich mit macOS Mojave von Kunden und NVIDIA ab“ . Forbes .
  22. ^ „Metal feature set tables“ (PDF) . Apple . Archiviert (PDF) vom Original am 14. Oktober 2022. Abgerufen am 15. Oktober 2024 .
  23. ^ „Metal feature set tables (2022)“ (PDF) . Apple . Archiviert vom Original (PDF) am 14. Oktober 2022. Abgerufen am 12. Juni 2025 .
  24. ^ Apple Inc. „WWDC 2017 Platforms State of the Union“ . Archiviert vom Original am 6. Juni 2019. Abgerufen am 6. Oktober 2017 .
  25. ^ „Vulkan-Anwendungen auf Apple-Plattformen aktiviert“ . Pressemitteilung der Khronos Group. Archiviert vom Original am 28. Februar 2018. Abgerufen am 24. Februar 2021 .
  26. ^ Larabel, Michael (1. Juni 2018). „Erste Ergebnisse der Vulkan-Performance unter macOS mit Dota 2 sehen sehr gut aus“ . Phoronix. Archiviert vom Original am 7. Februar 2022. Abgerufen am 5. Juni 2018 .
  27. ^ „HEROES OF THE STORM BALANCE PATCH NOTES — 29. NOVEMBER 2017“ . news.blizzard.com . 29. November 2017.
  28. ^ a b „Hollow Knight – Ein Abenteuerspiel | Erstellt mit Unity“ . Unity . Abgerufen am 11. Mai 2026 .
  29. ^ „Hollow Knight: Silksong auf Steam“ . store.steampowered.com . Abgerufen am 11. Mai 2026 .
  30. ^ Kondrak, Krzysztof [@k_kondrak] (9. Februar 2019). „vkQuake2 erhält MacOS-Unterstützung“ ( Tweet ) . Abgerufen am 9. Februar 2019 – via Twitter .
  31. ^ a b „Transport Fever 2 – Transport Fever 2 erhält Mac- und Vulkan-Unterstützung – Steam-News“ . store.steampowered.com . 23. Februar 2021. Archiviert vom Original am 25. Februar 2021. Abgerufen am 12. Februar 2026 .
  32. ^ „Depot 1066783 (Transport Fever 2 Mac)“ . SteamDB . Abgerufen am 12. Februar 2026 .
  33. ^ „X-Plane 11.50 Public Beta 1: Vulkan und Metal sind da“ . X-Plane Developer . 2. April 2020. Archiviert vom Original am 3. April 2020. Abgerufen am 2. April 2020 .