ゲームグラフィックを更に魅力的な物にする機能に“レイトレーシング”がある。これは、屈折や反射などの光線の動きといった、現実世界で考えられる複雑な要素をコンピューターで計算することで、リアルな映像を作成する技術だが、多くのコンピューティングパワーが必要であり、NVIDIAのGeForce、AMDのRadeon、そして最近ではAppleのM3チップなど、GPUにはこの処理のための専用ユニットが備えられている程だ。CPUでこれをこなすのは現実的ではないが、困難に挑戦するのが人の性であり、実際にそれをやってのけた事例が紹介されている。
開発者のKonstantin Seurer氏は、オープンソースのMesaグラフィックス・ライブラリをハックし、CPUコードにVulkanレイトレーシングのサポートを追加した。VK_KHR_ray_query機能を有効にすることで、Seurer氏はGPUなしでレイトレーシングを可能にしたという。その効果を証明するために、彼はCPUベースのレイトレーシングを有効にしてQuake II RTXを起動した。
パフォーマンス指標は印象的なものには程遠い。共有された1枚のスクリーンショットを見ると、ゲームはわずか1フレーム/秒と、とてもではないがプレイは不可能なレベルだ。だが、確かにやってのけたという。
ただし、これを成功させるための環境など、明らかにされていない点も多く、疑問が残る。例えば、どのようなCPUを利用したのか?96コアのThreadripperのようなモンスターCPUなのか、それとも地味なラップトップ用チップなのか?
Quake II RTXには、グローバルイルミネーションや反射深度などの設定を調整できるグラフィックスオプションも多数用意されている。しかし、報告された1fpsを達成するために使用された設定は未公開のままである。
さらに、スクリーンショットが撮られた瞬間のCPU使用率はわずか34%であり、CPUが不慣れな作業を力尽くでこなしていたにしては余裕がありすぎる気もする。使用率が100%に達すれば、フレームレートは3倍の3fpsになったのだろうか?
とはいえ、CPUレイトレーシングは現実的なものではないが、標準的なCPUだけで、超リアルなライティングで特定のアプリケーションを実行できる可能性を示す概念実証は興味深い物だ。
実際にレイトレーシングにおいて、CPUがGPUに置き換わることはないだろうが、こうしたCPU技術が進歩し続けるにつれて、CPUベースのレイトレーシングの潜在的な用途は、特に負荷の低いタスクで意味を見出せるかも知れない。
今回の実験を自分でも試してみたいなら、Seurer氏のレイトレーシング・コードは、近日リリース予定のMesa 24.1に搭載される予定だ。
Sources
コメントを残す