Metal

グラフィックスの限界を超えて、さらに先へ

MetalではGraphics Processing Unit(GPU)にほぼ直接にアクセスできるため、iOS、macOS、tvOS Appでグラフィックスと演算のポテンシャルを最大限に活かすことができます。オーバーヘッドが少なく導入が容易なアーキテクチャ、プリコンパイルされたGPUシェーダ、きめ細かいリソースコントロール、マルチスレッドのサポートといった特長を備えたMetalが、Appのパフォーマンスをさらに進化させます。GPUドリブンなコマンド作成に対応し、一連のMetal対応GPUの取り扱いがシンプルになり、Mac ProPro Display XDRのプロフェッショナルな性能を引き出すことができるようになりました。

GPUドリブンな演算エンコーディング

iOS 13およびtvOS 13でMetalを使うと、レンダリングパスの処理だけにとどまらず、Indirect Compute Encoding(間接的演算エンコーディング)によってGPUで独自の演算コマンドを構築することができます。高度なカリングおよびテッセレーションのテクニックを使った完全なシーンを、CPUとほとんど(またはまったく)やり取りせずに構築し、スケジュールすることができます。

レイトレーシングのさらなる高速化

Metal Performance Shaders(MPS)では、Bounding Volume Hierarchy(BVH)の構築をGPUで行うことで、レイトレーシングの処理がこれまで以上に高速化されます。さらに、高度に最適化された演算およびグラフィックスシェーダからなるMPSの基本的なコレクションに、最適化されたノイズ除去フィルタが新たに用意されました。

プロフェッショナル向けAppのためのMetal

macOS CatalinaのMetalを利用して、プロフェッショナル向けのコンテンツ作成Appで、これまで以上に強化された高度な機能を活用することができます。Metal Peer Groupsでは、Mac Proで利用する複数のGPU間での高速なデータ共有を、メインメモリを介することなく簡単に行うことができます。さらに、CAMetalLayerでは、Pro Display XDRのハイダイナミックレンジ(HDR)機能を利用することができるようになりました。

さらにシンプルになったGPUファミリー

GPUファミリーが大幅にシンプルになったことで、Metalでの開発がこれまで以上に簡単になります。GPUファミリーを、十分に検討された3つのグループに分けることで、あらゆるMetal対応GPUに共通する機能を容易に対象とすることも、Apple設計によるGPUの独自機能を利用することも、対応するサードパーティ製GPUをmacOSでよりスムーズにコントロールすることもできるようになります。

Metal Memory Debugger

Metal Memory Debuggerを利用すると、Metalのオブジェクトやレンダリングリソースの実行時のメモリ消費量を詳細に把握することができます。また、リソースの構成を分析して改善点を提案してくれるため、Metalが最大限に活用されるよう、ゲームやAppを高度に最適化することができます。

Metal対応のiOSシミュレータ

シミュレータでMetalが使われるようになったため、Metalを直接使っているiOS Appや、Metalベースのシステムフレームワークを利用するiOS Appの開発速度が向上します。OpenGL ESからMetalにスムーズに移行するために最適です。