すでに店頭でも販売が開始され、話題になっている物理演算処理プロセッサ「PhysX」。3Dゲームをよりリアルに表現する物理演算処理を専任する役割を持っているが、実際どのような影響を及ぼすのか。その効果のほどを見てみたい。 ●3Dグラフィックの新たなチャレンジとなる物理シミュレート ビデオカードの性能向上もあって、3Dグラフィックの表現力はかなりあがってきた。最近の話題でいえば、HDR(High Dynamic Range)レンダリングが現実的に可能になったことで、その場の空気感のようなものも表現できるようになってきている。そして、そのリアリティをさらに高めるためにクローズアップされているのが物理演算である。 物理演算とは、物体の衝突などに伴う物体同士の運動を表現するものだ。例えば、3Dゲーム中に石ころが落ちていたとすると、キャラクターが石にぶつかったときの転がり方や、さらに転がった先で別の物体とぶつかったときに発生する運動など、一連の動きを表現するのである。 従来の3Dゲームなどでも、一部のオブジェクトに対して、こうした物理演算処理を加えていることはあった。だが、CPUやGPUなど物理演算以外の処理をメインに行なっている演算ユニットを利用しての処理になるため、物理演算に割けるリソースは限られ、結果、リアリティの高い物理表現は難しいのが現状である。 そこで生み出されたのが、AGEIAの「PhysXプロセッサ」である。PhysXは物理演算を簡単なプロセスで実現できるようにしたエンジンで、それをハードウェア処理するためのものがPhysXプロセッサ(PPU:Physics Processing Unit)である。そして、このプロセッサを搭載したボードが、すでに発売が開始されているBFGの「BFGRPHYSX128P」と、今回試用するASUSTeKの「PhysX P1」なのである。 そのPhysX P1のボードは、まるでビデオカードのような外観となっている(写真1)。プロセッサのコアクロックは公表されていないが、その処理能力は最大で毎秒200億命令。凸状物体同士の衝突で1秒間に最大53万3千回、球体同士の衝突であれば1秒間に5億3千万回を処理できるとされている。また、搭載されているローカルメモリは128MBで、128bit幅で接続され、733MHzで動作している。 このPhysX P1は、ボード末端部にペリフェラル用の電源コネクタを備えているのも特徴といえる(写真2)。果たして、その消費電力はいかほどか、とワットチェッカーを使って計測してみた結果がグラフ1である。テストした環境は後述する表1と同じ環境(CPUはPentium D 820を使用)で、PhysX P1を装着した場合と、装着していないときで、それぞれ計測している。
ピーク時の数値にはビデオカードなどの負荷増による消費電力の向上も含まれるが、PhysX P1なし時の結果から、ビデオカードによる増加はおよそ70W強であると判断できる。その点も踏まえると、おおよそではあるが、PhysX P1の電力消費は15~20W程度と考えてよさそうである。
ちなみに、今回の試用機に付属してきたCD-ROMには、ドライババージョン「2.4.2」の正式版が収録されていた。このバージョンはすでにAGEIAのWebサイトからもダウンロードできるが、ベータ版として「2.4.3」も提供されている。今回のテストは、このベータ版ドライバを用いて行なっている(画面1、2)。
●フレームレートの向上はアプリケーション次第 さて、3Dグラフィックに絡んだハードウェアを導入する目的といえば、その最も大きなものはフレームレートの向上といえる。そこで、まずはPhysX P1導入による、フレームレートの変化という点に着目してみたい。テストに用意した環境は表1のとおりだ。
1つ目のテストは、3DMark06のCPU Testである(グラフ2)。デュアルコアのPentium D 820(2.8GHz動作)と、シングルコアのCeleron D 340(2.93GHz)という2つのCPUを用意してテストを行なっている。 3DMark06のCPUテストにはPhysXのライブラリを用いた物理演算処理が加えられているが、ハードウェアアクセラレーションに対応しているとは表明されていない。Celeron D 340という3Dゲームには不向きなCPUを使っている場合でもPhysXプロセッサの有無でフレームレートが変わっていないので、一見PhysXのハードウェアアクセラレーションが動いていないように感じられる。だが、Pentium D 820の方では、誤差が極めて少ないこのCPUテストにおいて十分すぎるほどのスコアの差が発生している。 ということは、PhysXプロセッサによるハードウェアアクセラレーションは行なわれていると判断したい。とは言っても、負荷の軽いテスト1ではPhysXプロセッサがあった方がスコアが良いものの、負荷が軽いテスト2ではない方がスコアが良くなっており、PhysXプロセッサのフレームレート向上を確実に確認できる結果とはいえない。
もう1つ、PhysXプロセッサのドライバに含まれる、「Boxes Demo」と名付けられたデモのフレームレートを測定してみたい。Boxes Demoは、ピラミッド状に詰まれたブロックにボールをぶつけたときの動きを表現するもの(画面3、4)。 ここではFRAPSによる計測を行なっているが、手動で計測開始を指示することになるため平均フレームレートに誤差が生じる。そこで、ボールをぶつける前に計測を開始し、最もブロックの動きが激しくなる最低フレームレートを抜き出してグラフに示した(グラフ3)。テストにはPentium D 820を使用しているが、PhysXプロセッサの有無により2倍近いスコア差が生じている。3DMark06のCPUテストに比べると、物理演算自体の負荷が高いと思われるが、こうした描画内容であればPhysXプロセッサの有無による効果は大きいといえる。 ちなみに、後述する対応アプリケーションの対応状況を見てみると、“PhysXプロセッサがある場合のみ起動できる”と、“PhysXプロセッサの有無で描画内容を変える”という2つのパターンがある。だが、Boxes Demoは“PhysXプロセッサがない場合はCPUで処理する”という別のパターンである(しかも効果を示すためのデモプログラムである)。 つまり、PhysXプロセッサに対応し、かつPhysXプロセッサがない場合でも同等の描画内容をCPUで処理させるアプリケーションであれば、フレームレートの向上効果が期待できるといえるだろう。
●物理演算の魅力は表現力の向上 さて、冒頭でも述べたとおり、物理演算を多用することによって3Dグラフィックの表現は向上する。その具体例をここで紹介したい。今回試用しているASUSTeKの「PhysX P1」には、3つのサンプルゲームが付属しており、それらを中心に紹介していこう。 最初に紹介するのは、「Tom Clancy's Ghost Recon Advanced Warfighter」である。このゲームでは、PhysXプロセッサの有無を判断して、PhysXプロセッサがある場合のみ、PhysXエンジンを用いた専用の描画を行なうようになっている。PhysXプロセッサがない場合とは描画が異なるだけで、プレイにおいてPhysXプロセッサは必須ではない。 PhysXプロセッサを有効にした場合と、しない場合とで、画面5~10にキャプチャした静止画を掲載している。静止画では効果が分かりやすい場面をピックアップしているが、PhysXエンジンを用いた場合では被弾した路面や車、木の破片がより多く描かれていることが分かる。
次のサンプルゲームは「CellFactor」だ。このアプリケーションはPhysXプロセッサがないとエラーが発生して起動できない、PhysX必須アプリケーションである。設定画面中にPhysXプロセッサの有効化に関する項目があるものの、グレーアウトして選択できないようになっている(画面11)。 このCellFactorのプレイ中にキャプチャーした画像も掲載している(画面12~13)。こちらのゲームでも、被弾した物体が飛び散る迫力に目が留まる。裂ける布の様子や流体の表現なども、物理演算プロセッサによる効果だ。
このほか、AGEIAのデモプログラム「Switchball」と、AGEIAにユーザー登録することで入手できるSDKに含まれるサンプルプログラムから、いくつかピックアップして動画を掲載しているのでご覧いただきたい。 いずれもFRAPSによるキャプチャーでフレームレートが固定されてしまっているが、実際にはもっともストレスなく動く。先に紹介した2つのFPSゲームでは、銃弾と物体の衝突で発生する迫力を増す方向性が見られたが、こうしたデモプログラムで行なわれている物理シミュレーションを見ると、迫力だけではないリアルさを追求することも可能であることがイメージできるだろう。 ●期待の新機軸ではあるがネックは将来性 このように、ビデオカードとは異なりPhysXプロセッサはフレームレートの向上は確実なものではなく、むしろPhysXエンジンによる描画の違いがゲームの迫力やリアリティ向上効果についての意義が大きい。 PhysXを使うことで新しいイベントが発生しているわけでもないので、もちろんPhysXを使わなくてもゲーム自体は楽しめる。ただ、PhysXを利用することは、ビデオカードを強化してより高いクオリティで描画するのとは、また違ったアプローチでの高クオリティ化ということが言えるのではないだろうか。 本連載で行なったQuad SLIなどのハイエンドビデオカードのベンチマークからも分かるように、ビデオカードの性能は、すでにCPUに足を引っ張られている状態だ。ちなみに、今回試用したPhysX P1の評価ガイドによれば、3GHz以上のCPUにGeForce 7800/7900 GTXやRADEON X1800/1900シリーズのビデオカードをテスト環境として推奨している。 物理演算はオブジェクトの動き自体の演算しか行なっておらず、描画はビデオカード側が従来どおり行なう。物理演算を駆使したアプリケーションでは、描画するオブジェクトの数も増えるわけで、SDKのサンプルのようなシンプルな内容ならともかく、CellFactorのような複雑な描画を行なうのであれば、その動作環境の要件が高まるのは当然だ。実際、Intel 945G内蔵グラフィックでの動作も試してみたが、根本的にフレームレートが伸びず物理演算の効果を楽しむどころではなかった。 ただ、PhysXプロセッサの導入にあたっては、PhysXエンジンがどの程度普及するかを見極める必要があるのも事実だ。現在注目されている物理エンジンとして、「Havok FX」というものがある。こちらはHavokがNVIDIAと組んで、GPUとCPUを利用した物理演算を行なう仕組みを採用している。こうした動きは物理演算のハードウェアアクセラレーションに専用プロセッサを必要とするPhysXにとって逆風といえるのも事実だろう。 先にも述べたとおり、PhysXプロセッサを活かすには、アプリケーション側がPhysXに対応している必要がある。対応を表明しているアプリケーションはAGEIAのWebサイト(http://www.ageia.com/physx/titles.html)で確認でき、「Unreal Tournament 2007」などキラーアプリとなり得るタイトルも名を連ねているので、このあたりに興味を持つ人は多いかも知れないが、将来性は未知数だ。 今後、3Dゲームにおいて物理演算というものへの注目はより高まっていくのは間違いないと思うが、そのときPhysXエンジンがメインストリームの存在になるとは限らない。そういう不安を残している以上、PhysX搭載カードの4万円前後という価格は、決して安価ではなく、おいそれと買えるものではない。 だが、興味のあるタイトルが含まれている人はもちろん、すでにそれなりのハイエンドなゲーム環境を持っている人がCPUやビデオカード以外で性能を強化したいのであれば、先行投資の対象にはなり得る存在といえるのではないだろうか。 □関連記事 (2006年5月30日) [Text by 多和田新也]
【PC Watchホームページ】
|
|