WWDC22:Apple、コンピュータグラフィックスAPI「Metal 3」について解説
※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。
Appleが、WWDC22において、プロフェッショナル向け3D Appや魅力的なゲームを開発することができるプラットフォームに最適化された低オーバーヘッドのAPI「Discover Metal 3」について解説を行っています。
導入以来、Metalは、GPU駆動型レンダリング、機械学習、レイトレーシングに重点を置き、多くの高度なグラフィックスおよびコンピュート機能を追加してきました。
Metal 3は、より高いパフォーマンスとレンダリング品質を実現するパワフルな新機能のセットで、アプリケーションやゲームをより速く、より美しく動作させるのに役立ちます。
最近のゲームやアプリでは、アセットのロード要件が厳しく、ファイルからMetalリソースに多数の小さなアセット要求を迅速にストリーミングすることが、高品質のビジュアルを実現する鍵となることが多いのです。しかし、既存のストレージAPIは、大規模な一括要求用に設計されています。
Metal 3の高速リソースロードでは、グラフィックスやコンピュートと同じ明示的なマルチスレッドコマンドモデルを使用して、多数の小さなロードを要求することができます。
Metal Sparse Texturesでは、アプリケーションはタイル粒度でテクスチャをストリーミングすることができます。
新しいオフラインコンパイルワークフローでは、シェーダバイナリは GPU 固有のマシンコードで、従来はアプリの実行中に Metal パイプライン作成プロセスの一部として生成されていました。
これらのバイナリの生成は高度な処理であり、通常はアプリの起動時にローディング画面の背後に隠されています。しかし、時にはフレーム内で生成する必要があり、その結果、フレームレートの遅延が発生します。
これらのバイナリはMetalによってキャッシュされるため、頻繁にコストがかかるわけではありませんが、アプリの初回起動時やバイナリが初めて必要になったときに、そのコストが発生することに変わりはありません。
オフラインコンパイルでは、実行時のシェーダバイナリ生成を省略することができます。
プラットフォームに最適化されたグラフィックス効果を提供する「MetalFX Upscaling」は、高性能なアップスケーリングとアンチエイリアス処理により、高品質なグラフィックスを短時間でレンダリングするのに役立ちます。
Retinaの解像度は、アプリケーションやゲームで活用したい鮮明なディテールを提供しますが、これらのピクセルをすべて生成すると、パフォーマンスにも影響が及びます。
MetalFX Upscalingを使用すると、低い解像度でピクセルを生成し、フレームワークが高品質の高解像度画像を低コストで生成し、はるかに高いフレームレートを実現することができます。
MetalFXは、高性能、高品質のアップスケーリングを実現する強力なフレームワークです。
次は、Metalの新しい柔軟なジオメトリパイプラインです。メッシュシェーダです。従来のプログラマブルグラフィックスパイプラインでは、シェーダで頂点を変換し、それをプリミティブに組み立てて、固定機能ハードウェアでラスタライズしていました。ほとんどのアプリケーションではこれで十分ですが、カリングなどの一部のユースケースではプリミティブ全体にアクセスする必要があります。
従来は、計算パスでジオメトリをプリプロセスしていました。しかし、そのためには、可変量の中間ジオメトリをデバイスメモリに保存する必要があり、その予算を確保するのは難しいかもしれません。
Metal メッシュシェーダは、従来の頂点ステージを柔軟な2ステージモデルに置き換え、ジオメトリの階層的な処理を可能にする、別のジオメトリ処理パイプラインを導入しています。
第1ステージでは、オブジェクト全体を解析し、第2ステージでジオメトリを拡張、収縮、または改良するかどうかを決定します。
これは、中間デバイスのメモリストレージを必要とせず、レンダーパスで計算機能を提供することで実現されています。
Metal 3 のレイトレーシングは、CPU と GPU の時間を大幅に節約します。第一に、アクセラレーション構造はより短い時間で構築されるため、レイの描画とトレースに必要なGPU時間をより多く確保することができます。
第二に、レイトレーシングのための新しい間接コマンドバッファのサポートのおかげで、カリングなどのCPUオペレーションはGPUに移行することができます。
最後に、Metal 3 レイトレーシングは、プリミティブデータへの直接アクセスをサポートし、交差とシェーディングを合理化・最適化します。
Metal 3レイトレーシングは、以前にも増して、より良く、より強力になり続けています。
Metalは、Appleのシリコン全体でML推論を最適化し、パフォーマンスを最大化します。これは、BlackMagic Designの「DaVinci Resolve」のような、Metalベースの高性能ビデオおよび画像処理アプリケーションに特に有効です。
DaVinci Resolveは、カラーグレーディングに特化したビデオ制作プラットフォームで、ワークフローにMetalと機械学習を広範囲に使用していて、その結果は驚くべきものです。
BlackMagic Designは、Metalの加速された機械学習のサポートにより、編集とカラーグレーディングのワークフローとMLベースのツールで劇的なパフォーマンスの向上を達成しました。
Metal 3は、A13 BionicまたはM1チップ以降のiPhoneとiPad、および最近のAMDとIntelのGPUを搭載したすべてのAppleシリコンMacシステムとMacシステムを含む、すべての最新のiOS、iPadOS、macOSデバイスでサポートされます。
なお、あるデバイスがMetal 3をサポートしているかどうかを調べるには、MetalデバイスのsupportsFamilyクエリを使用します。