| 開発元 | Apple |
|---|---|
| 初版 | 2014年6月 (11年前) (2014-06) |
| 最新版 | 4 /2025年6月 (8 か月前) (2025-06) |
| プログラミング 言語 | シェーディング言語:C++14, ランタイム/API:Objective-C |
| 対応OS | macOS,iOS,iPadOS,visionOS,tvOS |
| 種別 | 3Dグラフィックス・演算用API |
| ライセンス | プロプライエタリ |
| 公式サイト | developer |
| テンプレートを表示 | |
Metal(メタル)はAppleのオペレーティングシステム上でサポートされる、オーバーヘッドの小さいローレベル(low level)なコンピュータグラフィックスAPIである。Metalでは、OpenGLとOpenCLに似た機能を一つのAPIに統合している。Metalはクロノス・グループによるVulkanや、マイクロソフトによるWindows向けのDirect3D 12といった、他のプラットフォームにおける類似のAPIによるパフォーマンス上の利点をmacOS/iPadOS/iOS/visionOSにもたらしている。
MetalはC++11をベースとした新しいシェーディング言語、Metal Shading Language(MSL)を利用する。これはClangとLLVMによって実装されている[1]。Metalはコンピュートシェーダーを導入することでGPGPUプログラミングのしやすさも向上している[注 1]。
macOS Ventura,iOS/iPadOS 16のMetal 3では、MetalFX Upscalingという超解像度技術を実装している[2]。
macOS Sonomaでは、Xcode 15向けThe Game Porting Toolkit[3]のMetal shader converter[4]で、Windows向けゲームを移植する際、DirectX 12からMetal 3へ変換できる[5]。
2023年現在、Metal 3での動作条件は、Apple A13 Bionic以上を搭載したiPhone 11/SE (第2世代)以降とiPad (第9世代)以降、AppleシリコンまたはIntel UHD Graphics 630以降のGPUを搭載したMacが必須となっている[6]。対応OSは、macOS Ventura, iOS 16, iPadOS 16以降である[6]。
初期のMetalはApple A7以降を搭載したiOS機器、およびOS X El Capitan以降が動作する一部のMacコンピュータで利用可能であった。OS X El Capitanに対応しているMacであっても、Metalに対応しているとは限らない。
2017年10月時点でのMetal及びMetal2対応Macコンピュータは以下の通り[7]。
MetalはWWDC 2014にて発表され、iOS 8で初めて導入された[8]。
macOSでのMetalのサポート(Metal for Mac)はWWDC 2015において発表された。
Metalの登場以前は、macOSにはOpenGLが、そしてiOSにはOpenGL ESがそれぞれ提供されていたが、いずれも高度にハードウェアが抽象化されていることから性能上のオーバーヘッドが大きい。Metalは以下のような理由から、OpenGLよりも優れたパフォーマンスを期待できる[9]。
これらのうちいくつかは、GPUでコマンドを実行するために必要になるCPUのタスクを低減する。そのため、他の仕事のためにCPUを使えるようになり、全般的なパフォーマンスの向上につながる。
| バージョン | |||||
|---|---|---|---|---|---|
| 派生OS |
| ||||
| アプリケーション |
| ||||
| 機能 |
| ||||
| サービス |
| ||||
| その他 | |||||