WWDCが終わったわけですが、今回のやはり目玉はVision Proでしょうか。その中でしれっと面白い話があったのでその話です。
HWレイトレ
タイトルでは「HWレイトレ」とすっごい省略して表現していますが、ここでは「ハードウェアレイトレーシング」のことを指します。
ハードウェアレイトレーシングについては、実はApple以外のGPU・SoCの大半は何らかの形で対応しています。
対応年 | アーキテクチャ | 製品 | ユニット名 | |
---|---|---|---|---|
NVIDIA | 2018 | Turing | GeForce RTX 20 | RT Core |
AMD | 2020 | RDNA 2 | Radeon 6000 | Ray Accelerator |
Intel | 2022 | Xe Archtecture | Intel Arc | Ray Tracing Units |
Qualcomm | 2022 | Snapdragon 8Gen 2 | ||
Samsung | 2020 | RDNA 2 | Exynos 2200 | Ray Accelerator |
Arm | 2022 | Immortails-G715 | ||
MediaTek | 2022 | Immortails-G715 | Dimensity 9200 | |
非対応 | ||||
Microsoft | 非対応 | |||
Apple | 非対応 |
各社のレイトレ対応具合をまとめました。主要な企業で言えば、NVIDIAがGeForce RTX 20シリーズ(Turing世代)でRTコアを搭載し、業界では初めてハードウェアレイトレーシングに対応しました。このときにDirectX Ray Tracingに対応したことによってゲーム業界がレイトレ対応を進めました。そしてその後デスクトップGPUでは、AMDがRDNA 2で「Ray Accelerator」を、Intelが同社初のdGPU「Ray Tracing Units」をそれぞれ採用しHWレイトレに対応しました。
内蔵GPUでは、AMDがRyzen 6000シリーズAPUにて内蔵グラフィックスにRay Acceleratorが有効になったRDNA 2を採用し対応したほか、SamsungがExynos 2200に同様のRDNA 2 GPUを採用したためHWレイトレに対応しました。
Arm系統では2022年に発表された新しいArmのGPUブランド「Immortails」がHWレイトレに対応したことで、MediaTekがDimensity 9200で対応。QualcommもSnapdragon 8 Gen 2から対応しました。
残すところはApple、Google、Microsoftですが、GoogleとMicrosoftはそれぞれExynos、Snapdragonをベースにしているのでそう遠くない未来に対応しそうではあります。
レイトレとは
では、本題に入る前に、そもそもレイトレーシングとは一体何なのかというものを解説します。レイトレーシングとは、レイ(光線)を発光体から追跡し、反射や透過、ぶつかったマテリアルの情報の収集などを行う技術です。勘違いされがちですが、レイトレーシングユニットはポストエフェクトでリアルなグラフィックを実現しているのではなく、あくまでGPUがレンダリングするために必要な情報を集めるというのが仕事です。
分かりにくくなってしまったので、例えばちょっと透過するガラスマテリアルに太陽からの光線を斜めから当ててみます。太陽からの光はガラスにぶつかると、ガラスを通して反射する光と、透過する光に別れます。この時、この光線を追いかけていたレイトレが「この光はガラスマテリアルに何度の方向にこれだけの光量が反射して、これだけの光量が通過したよ!」とGPUに知らせます。GPUはそれらの情報を受け付けて反射した光量をもとにガラスの反射を、透過した光量をもとにガラスの先のオブジェクトをそれぞれ描画します。
ただ流石に、無数にある光線のすべてを追いかけるのは困難なため、NVIDIAはAIを使ったポストエフェクトを、AMDも何かしらのポストエフェクトを行うことでリアルなシーンを描画しています。
で、この技術は、光線でなくても直線的な波であれば利用することが出来ます。例を挙げれば、地震、電波もレイトレの技術が用いられる分野です。ただ、ゲーム的に実用的なのはやはり光と音でしょうか。音であれば、例えばレーシングゲームにおいての車内の音の反響をリアルに再現できる他、FPSゲームなどでも地形に合わせて音の反響を再現することが出来ます。実際にこれが用いられている例もあります。
AppleのHWレイトレ
では、Appleのレイトレについて。Appleは現在に至るまで公式にHWレイトレ又はリアルタイムレイトレーシングをサポートしたことを公言したことはありません。
WWDC 22でMetal 3が登場しました。Metal 3はそれまでのMetalと打って変わってゲームに特化したアップデートとなっています。例えば、メッシュシェーダーに対応していたり、MetalFX Upscalingという超解像度技術、Fast Resource LoadingというDirect Storageに相当する機能が実装されました。
その中に、レイトレの機能が実装されており、ソフトウェア側では、対応しようと思えばいつでも対応できる状態、いわば下地は整えられた状態です。
iPhone 14 Proシリーズに搭載された「Apple A16 Bionic」はトランジスタ数が10億しか増加していないなど、近年のApple Siliconとしては非常に小ぶりなアップグレードにとどまりました。これはAppleが新型GPUの搭載を問題が発生したことから先送りにしたためであるということが噂として存在しています。この新型GPUには、HWレイトレのアクセラレータが搭載されていたようです。つまり、Appleは少なくとも去年あたりからレイトレをApple Siliconに載せる試験を行っているようです。
そして、今年のWWDC。Vision Proなる新しいAppleデバイスがついに登場し話題となりました。そのVision Proは、つけていても周りの音をリアルに受け取ることができる「オーディオレイトレーシング」という技術が搭載されています。もうおわかりいただけたと思いますが、これはれっきとした「リアルタイムレイトレーシング」です。
どこに搭載されている?
じゃあ、リアルタイムレイトレーシングのハードウェアアクセラレータがどこに搭載されているのかという点について考察します。正直なところApple M2は考えられませんので「Apple R1」以外に考えられないというのが結論です。
Apple R1チップとは、Vision Proの大量のセンサーを処理するためのチップであるというのがAppleの公称です。ただ、Appleが誇張しているのかは不明なものの、R1チップはそこそこ大きなチップになっているようです。センサーが多いので必然的に大きなプロセッサになるのは致し方なしとして、センサー処理以外にも何か積んでそうですよね。ということでR1チップにHWレイトレが載っていると仮定します。
ここでさらなる疑問が生まれました。Mac Proに採用されたM2 UltraはM2をスケールアップさせたものです。そのM2 UltraはGPUを受け付けていません。ただ、M2はR1を受け付けています。正直、このあたりはApple Siliconだから・・・という言い訳ができるのであまり深掘りはするべきではないですが、Apple M2が外部アクセラレータをどれくらい受け付けているのかは議論の余地がありそうですね。
Appleのゲーム戦略
Appleはゲーム機能の拡充を急いでいます。Apple Siliconの登場後、AppleはMacの汎用性を高める戦略へと転換しつつあります。例えば、リモートワークに対応するためにFaceTimeが招待可能になったり、iPhoneのカメラをMacのWebカメラとして利用可能になるなどがその代表例です。
それ以外では特にゲーム分野への活路を見出そうとしています。Appleの場合、iPhoneが一大ゲームプラットフォームのして成長している側面もあるため、Macへの移植を簡単にすることでゲームの数を増やすという施策は以前から行っています。ただし、iPhoneが得意とするスマホゲームと、実際パソコンでプレイされるようなゲームというのはやはり特色が違います。
個人的な意見ですが、スマホゲームはどちらかというとパズルやカードゲームのような「時間つぶし」のようなゲームが人気なようです。対して、PCゲームでは、ApexのようなFPSゲームやシミュレーションゲームが人気であるという特色があります。もちろん実世界では、相互移植やはじめからPCとスマホの両方に対応することが前提のゲームもあるため一概にこうであると断定することはできませんが、やはりスマホとパソコンではゲームの指向性が若干異なるというのは間違いではないでしょう。
そのため、ここ2年間はMacへのゲームの呼び込みにシフトしているようです。例えば、Apple Arcadeでは、著名なスタジオが手掛けるゲームが参入した他、WWDC 22ではCapcomでゲームエンジン(RE ENGINEなど)の開発を務める伊集院勝氏が「BIOHAZARD VILLAGE」のMac対応を、WWDC 23ではコジマプロダクションの小島秀夫氏が「DEATH STRANDING DIRECTOR'S CUT」のMac対応をそれぞれ発表しました。
この戦略はマーケティングだけではありません。技術面でもWindows向けゲームの呼び込みを加速させています。
ちょっとこの記事のメインの話とそれますが、今回のWWDCで発表された「Game Porting Toolkit」は、Windows向けのゲームをApple Silicon向けに簡単に変換することができるツールです。この話の続きとして、AppleはこのGame Porting Toolkitを通じて、Apple Silicon上にDirectXのサポートを追加しました。これは、完全サポートを意味しているのではなく、SteamのProtonのような動作を意味します。おそらくWine上に色々実装しているのでしょう。
それ以外にも、先述の通りWWDC 22で発表されたMetalはそれまでのMetalと打って変わってゲーム向け機能が充実しているように見えます。DirectX 12 Ultimateには及ばないものの、DirectXの代替機能を大方揃えてきているなと言うのが私の感想です。
〆
このように、Appleはゲーム対応に向けた外堀を埋めつつあります。正直なところを申し上げると、MacのGPU性能はゲームをするのには物足りないというのも事実です。これはAppleがApple Siliconの「実世界での性能」に固執しているためであり、M2 Ultraで若干見え隠れしていますが、汎用的なGPUでは無いと言わざるを得ません。
しかしながら、Metal 3で最近流行りのメッシュシェーダーやアップスケーリングにも対応。Direct Storageに相当する機能も搭載されました。そしてソフトウェアの部分でレイトレーシングにも対応しています。
今後はさすがのAppleでも外部GPU許容の方向に舵を切るタイミングがあるはずだと信じていますが、、、しばらくはなさそうかなぁ・・・なんて。戦略としては任天堂と似てる気はしますけどね。