あまり知られていないmacOS CatalinaのMetal 3サポート

macOS Catalinaのゴールデンマスター(正式リリースに向けての最終安定版)がデベロッパーに配信開始され、いよいよmacOS Catalinaの正式リリースに向けて秒読み段階に入った。

あまり話題に上らないのだが、実はmacOS CatalinaのローレベルAPI「Metal」「Metal 3.0(Metal 3)」にバージョンアップしている。

ここでは新たにmacOS Catalinaに導入されるMetal 3について主なトピックを紹介していく。

Metal 3についての詳細な情報は下記のリンク先をご参照頂きたい。

CHECK
Introducing Metal 3 - The Metal Framework

なお多くの機能はデベロッパー向けであり、エンドユーザーがほぼ意識する必要がない項目は除外している。

また、Metal 3は当然iOSやiPadOS・tvOSにも対応するがここではmacOSについてフォーカスする。

Metal 3に対応するGPU。

Metal 1とMetal 2においてはMetal 1をサポートするGPUであればMetal 2もサポートしていたが、Metal 3においてはサポートするGPUが限られる。

Appleの開発者向けドキュメントによればMetal 3に対応するMacとGPUは以下。

macOS GPU family 2はMetal 3に該当。

macOS GPU family 1はMetal 1・2に該当する。

Metal 3対応Mac

  • iMac 2015以降
  • MacBook Pro 2016以降
  • MacBook 2016以降
  • iMac Pro 2017以降

Metal 3対応GPU

  • Intel Iris Graphics 5xx
  • Intel Iris Plus Graphics 6xx
  • Intel HD Graphics 5xx
  • Intel HD Graphics 6xx
  • AMD FirePro Dxxx
  • AMD Radeon R9 M2xx
  • AMD Radeon R9 M3xx
  • AMD Radeon Pro 4xx
  • AMD Radeon Pro 5xx
  • AMD Radeon Pro Vega

Metal 3で可能になること

ドローコールの改善

Metal 3ではOpenGLと比べて100倍のドローコール(GPUへの描画命令)を実行。

56T FLOPSの単精度浮動小数点演算

Metal 3と新型Mac ProのVega II Duo(4GPU)を利用することで単精度浮動小数点演算性能は56T FLOPSに達する。

iOS SimulatorがMetal対応に

UIKit, SpriteKit, SceneKit, Core Animation, Core Image, MapKitなど多くのフレームワークがMetal対応となる。

Ray TracingがMetalを介するようになる

昨今話題のRay TracingをMetal 3を利用することにより、パフォーマンスは従来のCPUによる処理と比べて1000倍になる。

Metal 3による弊害・Parallels Desktop 15

Metal 3非対応のmacOS MojaveでParallels Desktop 15のDirectX 11アプリケーションを実行した際のスコア。
著しくパフォーマンスが落ちている。

Metal 3による弊害、というよりはソフトウェア・macOSの対応が十分ではないために一部のソフトウェアでパフォーマンスのダウンといった不具合も発生している。

仮想環境構築ソフトウェアであるParallels Desktopの最新バージョンであるParallels Desktop 15ではWindows上のDirectX 11アプリケーションやゲームをMetalを経由させることによりパフォーマンスが上昇すると謳っている。

しかし現時点ではmacOS Mojave上のParallels Desktop 15では僕も含めて多くのユーザーが逆にパフォーマンスの低下(著しいフレームレートの落ち込み)を経験している。

これはmacOS MojaveがMetal 2までにしか対応していないことが原因であり、Parallels Desktopの技術者はmacOS Catalinaであれば多くのアプリケーションやゲームにおいてMetal 3の恩恵を得られると回答している。

according to a Parallels support technician it is because of faster shader compilation in Metal 3.0. -- As Hoserama pointed out this is probably also an issue with new code for the new graphics back end. As of now Parallels still claims better performance and more titles will be available in Catalina.

Parallels 15 Performance, Tips and Info!

このようにMetal 1・2とMetal 3ではサポートするMacやmacOS、GPUも異なるために非対応のmacOSやアプリケーションを利用した場合は逆にパフォーマンスが低下するため注意が必要だ。

まとめ

macOS Catalinaは32bitアプリケーションの非サポート(32bitアプリケーションは動作しなくなる)など、これまでのmacOSと比べると大きな変更点が多く、Apple・ユーザー双方にとって一つの転換点となるmacOSだ。

Metal 3になることで対応するMacやGPUも限られるため、これまで以上の改善が行われると同時に「これまでのmacOSのアップデートと比べて不具合が多くなる」ということもありえる。

Metal 3に非対応でもmacOS Catalinaは導入可能なのでユーザーはあまり気にする必要は現時点ではないが、32bitアプリケーションの非サポートについては注意しておこう。