Metal 3
Metal 3 とは、2022年6月6日にアップルが発表したGPUを制御するAPIである。Metalの第3版です。
大雑把にいえばDirectX 12 Ultimateのパクリ以外の何物でもないという内容ですが、DirectX 12 Ultimateが「GeForce 2000シリーズ以上必須」となっており、iGPUは論外なのはもちろん、GeForce 1600シリーズなども対象外と厳しい条件があるのに対して、Metal 3は「Intel UHD Graphics 630以上」と緩いのが特徴です。まともに動くかは話が別ですがアプリ自体は動作します。
対応機種[編集 | ソースを編集]
- iPhoneやiPad
- A13 Bionic以上のiPhoneやiPad
- Apple Siliconを搭載したMac
- 全機種対応
- Intel Mac
- macOS 13 Venturaをインストールできる機種
- Intel UHD Graphics 630以降のGPUを搭載したMac
- AMD Vega、Radeon 5000シリーズ, Radeon 6000シリーズを搭載したMac
- 一覧
- MacBook 2017以降
- MacBook Air 2018以降
- MacBook Pro 2017以降
- Mac mini 2018以降
- iMac 2017以降
- iMac Pro 2017以降
- Mac Studio 2022以降
- Mac Pro 2019以降
主な新機能[編集 | ソースを編集]
MetalFX Upscaling[編集 | ソースを編集]
高性能なアップスケーリングとアンチエイリアシングにより、複雑なシーンをより短時間でレンダリングできます。時間的または空間的アルゴリズムの組み合わせを選択してパフォーマンスを向上させることができます。
大雑把にいうと「NVIDIA DLSS」のパクリです。
Fast resource loading[編集 | ソースを編集]
非同期I/Oを使用して、CPUを介さずにストレージからGPUへテクスチャや頂点バッファなどのデータを読み込めます。
大雑把にいうと「DirectStorage」のパクリです。
オフラインでのシェーダーのコンパイル[編集 | ソースを編集]
プロジェクトのビルド時にGPUバイナリを生成して、アプリケーション内でのシェーダコンパイルを不要にし、ゲームのパフォーマンス向上とロード時間の短縮を支援します。
Mesh shaders[編集 | ソースを編集]
バーテックスシェーダに代わる「オブジェクトシェーダー」と「メッシュシェーダー」という2種類のシェーダーが搭載された。
大雑把にいえば「ジオメトリシェーダー」だ。バーテックスシェーダとジオメトリシェーダーの組み合わせよりオブジェクトシェーダーとメッシュシェーダーの組み合わせの方が若干無駄が少ないらしいぞ。
PyTorchのMetalバックエンド[編集 | ソースを編集]
PyTorch 1.12がMetal バックエンドに対応。機械学習が捗るらしい。知らんけど。
新しいレイトレーシング[編集 | ソースを編集]
Metal Ray Tracingの最新の進歩は、アクセラレーション構造の構築に費やすGPU時間を減らし、カリングなどの作業をGPUに移行してCPUの負担を減らし、プリミティブデータへの直接アクセスで交差とシェーディングの両方を最適化することができることを意味しています。