Metal

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

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

Metalの新機能

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

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

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

さらにシンプルになったGPUファミリー
GPUファミリーが大幅にシンプルになったことで、Metalでの開発がこれまで以上に簡単になります。ファミリーがよく考えられた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にスムーズに移行できる絶好のチャンスです。