オススメ機能
Twitter
お気に入り
記事履歴
ランキング
パッケージ
PhysX公式サイトへ
  • NVIDIA
  • 発表日:2006/05月中
PhysX
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
「GeForce PhysX」の実力検証。最適化タイトルでは安定した性能を発揮する一方,GPUの冷却が重要に
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2008/09/27 12:00

テストレポート

「GeForce PhysX」の実力検証。最適化タイトルでは安定した性能を発揮する一方,GPUの冷却が重要に

 NVIDIAによるAGEIA Technologiesの買収から約半年。2008年8月12日に「GeForce Power Pack」が公開されたことで,いよいよ,GeForceによる物理シミュレーションAPI「NVIDIA PhysX」(旧称:AGEIA PhysX,以下PhysX)のハードウェアアクセラレーション「GeForce PhysX」が現実のものとなった。

 「GPU PhysX」と呼ばれることもあるGeForce PhysXは,グラフィックスメモリを256MB以上搭載するGeForce 8以降のGPUと,バージョン177.81以降の「GeForce Driver」(旧称:ForceWare),そして最新のPhysXランタイムを含む「NVIDIA PhysX System Software」がセットアップされた環境で動作する。つまり,対応GPUを搭載したグラフィックスカードを持っているユーザーなら,特別なハードウェアなしに――つまり,完全に無料で――PhysXアクセラレーションを利用できるようになったのだ。

9月27日時点で,NVIDIA製GPU最多のSP数を誇るGeForce GTX 280。その数は240基だ
PhysX
 GeForce PhysXは,GeForce 8/9にGeForce GTX 200と,3世代(※厳密には2世代)に亘ってサポートされるが,PhysXのアクセラレーションはシェーダプロセッサである「Streaming Processor」(以下,SP)で行われるため,限りあるSP数を,3D描画処理と物理シミュレーション処理で奪い合うことになる。そうなると当然,SP数の多いハイエンド製品のほうが有利になるだろう。逆にいうと,GeForce 8/9の下位クラスだと,SP数が絶対的に少ないため,二つの処理が並行して生じることによる高い負荷に耐えられるのかどうかが気になるところである。

 一方,PhysX対応アプリケーションの多くは,(少なくともこれまでにリリースされたものだと)PhysX PPUをターゲットに作られているため,山ほどSP数があってもオーバースペックではないか(=SP数の多寡に応じてリニアにPhysX性能が上がるのか)といった疑問もある。SP数の違いがパフォーマンスをそれほど左右しないのであれば,ミドルクラス以下のGPUでも活路は見いだせそうだ。

 ……といったことの実際を検証してみよう,というのが本稿の主旨である。

PhysX Propertiesのスクリーンショット(ここではGeForce Driver 178.13に含まれる,バージョン8.09.04版PhysX Propertiesを利用した)。アクセラレーションのオン,オフや物理演算に使用するカードを選択できる
PhysX
 テストに入る前に,予備知識も兼ねて,GeForce PhysXの使い方を簡単に紹介しておくと,先ほど必要だと述べたGeForce DriverとPhysXソフトウェアをそれぞれ,もしくは「GeForce Driver 178.13」のように,PhysXソフトウェアを含むGeForce Driverをインストールすると,Windowsのスタートメニューから,PhysX関連の設定を行える「PhysX Properties」を起動できるようになる。
 [設定]タブからは,PhysXアクセラレーションの無効化,GeForce PhysX,PhysX PPUによるアクセラレーションの3パターンから,一つを選択可能。また,GeForce PhysX対応カードを2枚持っており,かつマザーボードが2枚差しをサポートしていれば,片方をGeForce PhysX用として利用できる。ここでいう「2枚差しをサポート」は,「NVIDIA SLI(以下,SLI)をサポート」という意味ではなく,純粋に2枚差しが可能ならOKだ。
 なお,SLI構成時に,SLIを有効化した状態だと,片方をGeForce PhysX用にはできない。「シングルGPUパフォーマンスモード」に切り替えねばらならないので,こちらは要注意だ。

 ただ,スケジュールの都合と,冒頭で述べたとおり,1枚で3D処理と物理シミュレーション処理を行うことの負荷を見てみたいこと,そして何より,「4Gamer読者が最初に試してみるとすれば,まずは手持ちのグラフィックスカード1枚であるだろうし,それがコスト的にも最もリーズナブルである」という理由から,今回はシングルカードでの検証を行うことにしている。

ZOTAC GeForce 9600 GT DP
DVI×2にHDMI,DisplayPort,D-Sub,高解像度アナログ出力をサポートする9600 GTカード
メーカー:ZOTAC International
問い合わせ先:アスク(販売代理店) info@ask-corp.co.jp
予想実売価格:2万5000円前後
PhysX
PhysX
 用意したシステムは表1のとおりで,やはりテストスケジュールの都合上,主に用いたPhysXソフトウェアは,2008年9月17日に公開されたバージョン「8.09.04」ではなく,「8.08.18」となる。8.09.04については,本稿の終盤でテストしたいと思う。
 さて,用意したGPUはGeForce GTX 280と,疑似NVIDIA SLI(以下,SLI)構成としての「GeForce 9800 GX2」,さらにはG92世代のシングルGPUから,SP数の異なる「GeForce 9800 GTX+」「GeForce 9600 GT」さらにはGeForce 8世代のミドルクラスGPU「GeForce 8600 GTS」となる。さらに,PhysX PPUを搭載するPhysXアクセラレーションカードも併せてテストすることにした。

 ちなみに,今回用意したグラフィックスカードのうち,ZOTAC International製品「ZOTAC GeForce 9600 GT DP」だけは,メーカーレベルでのクロックアップ(※例えばコアクロックは650→675MHz)が行われている。そのため今回は,NVIDIA製のオーバークロックユーティリティ「NVIDIA System Tools with ESA Support」(Version 6.02)を用いて,リファレンスどおりの動作クロックに手動設定を行った。
 なお余談ながら,ZOTAC GeForce 9600 GT DPは,DisplayPortを持つなど,豊富なビデオ出力インタフェースが特徴の製品である。


 テストに用いたGPUの主なスペックは表2にまとめた。PhysX PPUは,トランジスタ数が1億2500万であることと,組み合わされるメモリチップが容量256MBのGDDR3であることを除くと,詳細が明らかになっていないため,表への掲載を見送っている。GPUと同様に,ベクタ演算ユニットで構成されているはずだが,そもそもアーキテクチャが異なるため,単純に「トランジスタ数がGeForce 8600 GTSの半分以下なので,演算ユニット数も半分以下」という話にはならないので,この点は注意してほしい。
 PhysX PPUカードのテストに当たって,グラフィックスカードはGeForce 9800 GTX+を用いている。


 テストに用いたアプリケーションは,冒頭で紹介したGeForce Power Packから,

  • NVIDIA Fluid Demo(Version 1.0.0.9)
  • Nurien Tech Demo(Version Alpha 0.7)
  • Metal Knight Zero(Version 0.6 Alpha)
  • Unreal Tournament 3+PhysX MOD Pack(Version 2008/06/25)
  • Warmonger - Operation: Downtown Destruction(Version 2.1)

 の五つ。以下,本文,グラフ中とも,「GeForce」の表記を省略することをお断りしつつ,各アプリケーションごとに,テストを行っていきたい。


ゲームによって異なる傾向を見せる

PhysXアクセラレーション


およそ6万のパーティクル(粒子)の状態を計算して,その結果から液体らしいアニメーションを実現するFluid Demo
PhysX
 さて,まずはNVIDIA Fluid Demo(以下,Fluid Demo)から。
 Fluid Demoは,パーティクルを用いた流体シミュレーションで,およそ6万という膨大な数のパーティクルの状態を計算して,“流体らしい”アニメーションを実現しているのが特徴だ。
 解像度は1024×768ドット固定。流体以外に動的なオブジェクトはほとんどないため,3D描画負荷は低い。PhysXを用いた物理シミュレーションのパフォーマンス「のみ」を見るデモといっていいだろう。
 なお,フレームレートの計測には「Fraps」(Version 2.9.3)を利用し,フレームレート計測を1分間連続で行った平均をスコアとした。

 その結果をまとめたのがグラフ1である。9800 GX2では,SLIの効果がまったく出ていないが,それを除くと,SP数と動作クロックに応じた結果となった。
 PhysX PPUのスコアは,トランジスタ数を考えると高く,少なくとも,専用プロセッサであることのメリットが相応には感じられる。とはいえ,9600 GT以上のGPUによるGeForce PhysXには及ばないのも確かだ。


3Dバーチャル空間を用いたソーシャルネットワークアプリケーションとなるNurien。キャラクターの動きに合わせて,スカートやアクセサリ,髪などが物理シミュレーションで動く
PhysX
 続いては,Nurien Tech Demo(以下,Nurien)のスコアを見ていくことにしよう。GeForce Power Packに含まれる本デモは,1分ほどのシークエンスが流れたあと,平均/最高/最低フレームレートを表示する一種のベンチマークソフトになっている。

 Nurienは,「3Dバーチャル空間を用いたソーシャルネットワーク」という位置付けのアプリケーションで,3Dエンジンとして「Unreal Engine 3.0」を用いているのがウリ。アバター(=キャラクター)の動きに合わせて,スカートやアクセサリ,髪といったオブジェクトが,物理シミュレーションでダイナミックに揺れるのが見どころだ。

 結果はグラフ2のとおり。描画領域が1024×580ドットに固定されていることもあって,「Fluid Demoよりポリゴン数が多くても,スコアはFluid Demoに似た傾向になるのではないか」と推測していたが,9600 GTのスコアが上位陣に迫るなど,グラフはずいぶんと違った印象になっている。
 なお,8600 GTSが出した約28fpsというスコアだが,実は,別途計測した「PhysXアクセラレーションをオフにした状態」,つまり,CPUのみでPhysXシミュレーションを行った状態よりもスコアが低い。8600 GTS搭載時に,Core 2 Extreme QX9770にCPU処理させると,34fps強のスコアが得られるのだ。
 組み合わせるCPUにもよるが,8600 GTSだと,GeForce PhysXを利用しないほうがいい局面があることは,押さえておきたいポイントといえる。

 また,8600 GTSでPhysXアクセラレーションを有効化すると,スカートのポリゴンが抜けたような描画になることが,とくに負荷の高いシーンで見られた。PhysXと3Dグラフィックス処理,両方の負荷に堪えられなくなっているためかもしれないが,8600 GTSクラスでPhysXアクセラレーションを行うのは,いよいよ現実的でない雰囲気になってきた印象だ。


Metal Knight ZeroはObject Software独自エンジンを採用していると思われるFPSだ。オブジェクトが物理的に自然な形で動き,PhysXを使用していると分かる
PhysX
 次は,「Metal Knight Zero」のデモである。これは,中国のObject Softwareが開発中のFPS。GeForce Power Pack版では,ステージにあるカーテンやらドラム缶やらといったオブジェクトが,物理的に自然な動きを見せているので,こういった部分にPhysXシミュレーションが用いられていると思われる。なお,ファイル構成からして,ゲームエンジンは独自のものだろう。

 同デモは,1280×1024ドットと1920×1200ドット,2種類の解像度が用意されており,Nurienと同じく,デモシークエンスの再生後に平均/最高/最低フレームレートを表示する,一種のベンチマークソフトになっている。

 というわけで,結果はグラフ3のとおりだ。α版ということもあってか,8600 GTSとPhysX PPUではテストが止まってしまい,やや寂しいグラフになっているが,それはそうとして,9600 GTが高解像度(※グラフ中「High Res.Score」)で,上位陣から置いていかれる点が興味深い。
 また,GTX 280が最高のスコアを残しているわけではないのも面白い。GPUアーキテクチャが同じで,SP数も同じ9800 GTX+と9800 GX2でスコアに大きな違いが生じていることから考えても,PhysXのパフォーマンスには,GPUの動作クロックがかなり影響している傾向を見て取れる。


PhysX
Tornado PhysX。最初は“軽い”のだが,竜巻が猛威を奮い出すと,じわじわと“重く”なる
PhysX
Heart Ray PhysXマップは,安定して負荷が高い
 続いては,Unreal Tournament 3にPhysX Mod Packを適用した状態の平均フレームレートをチェックしてみよう。このMod Packには,PhysXを用いるマップ「Tornado PhysX」と「Heat Ray PhysX」,「Lighthouse PhysX」の三つが収録されているが,今回はTornado PhysXとHeat Ray PhysXを取り上げる。

 Tornado PhysXは,マップ内を竜巻(トルネード)が動き回るというマップで,もともとはPhysX PPU用の独占マップとして用意されていたもの(関連記事)。ゲームをスタートしてしばらくすると,竜巻によって吹き上げられるオブジェクトの数が増え,次第に“重く”なっていくのが特徴となっている。7月10日の記事でムービーを掲載しているから,興味のある人は併せてチェックしてみてほしい。
 対するHeat Ray PhysXは,GeForce PhysX用に開発されたマップ(関連記事)。スタート時から霰(あられ)や塵などが画面を舞い,物理シミュレーション負荷がまんべんなくかかっているのが特徴だ。

 テスト方法は,NVIDIAが配布しているベンチマーク用デモファイルを用いるという一点を除き,4Gamerのベンチマークレギュレーション5.2準拠。なお,8600 GTSは正常に動作しなかったため,スコアをN/Aとしている。

 さて,まずはTornado PhysXについて,PhysXアクセラレーション有効時のハードウェア処理(グラフ4)と無効時のソフトウェア処理(グラフ5)を比較してみると,前者のスコアが後者を圧倒している。9600 GTは,高解像度でMetal Knight Zeroのときと同じく上位陣から置いて行かれるが,それでもフレームレートではソフトウェア処理と比べて1.7倍以上のスコアを叩き出した。

 また,ここで注目したいのは,PhysX PPUのスコアが高いことと,全体的にGeForce上位陣のスコアが荒れ気味であることだ。もともとPhysX PPU用だったということもあり,ハイエンドクラスのGeForceにとっては負荷が軽すぎ,GPU以外のところにボトルネックが生じている可能性がある。


 一方,GeForce PhysXデモンストレーション用という位置付けのHeat Ray PhysXでは,ずいぶんと“きれいな”グラフになった(グラフ6)。GeForce PhysXに最適化されたタイトルでは,SP数の違いが,ゲーム全体のパフォーマンスをより大きく左右するということなのだろう。
 また,GPUアーキテクチャとSP数が同じであれば,動作クロックが重要になるということが,9800 GTX+と9800 GX2のスコアからは見て取れるほか,PhysX PPUは,解像度を問わず,安定したパフォーマンスを発揮する点も確認できる。ミドルクラス以下のGPUと組み合わせるのであれば,PhysX PPUもまだ使えそうだ。

 ソフトウェア処理させたとき(グラフ7)との比較では,9600 GTで約2倍以上,そのほかのGeForceは2.5〜2.8倍。これはなかなかインパクトが大きい。


画面中の破片,旗などの動きに物理シミュレーションが用いられるWarmonger
PhysX
 最後は,Unreal Engine 3.0を採用したWarmonger - Operation: Downtown Destruction(以下,Warmonger)フルバージョンだ。フルバージョンといっても,以前4Gamerが体験版として紹介したものと内容は同じため,ゲームの詳細は当該記事を参照してほしいが,GeForce Power Pack版には,「Stage 1」〜「Stage 5」各ステージのウォークスルーを繰り返して,平均フレームレートを得ることができるベンチマーク用スクリプトが付属する。

 ステージはそれぞれ動的なオブジェクトの数が異なり,物理シミュレーションの負荷も異なるが,本稿では,GeForce PhysXの有効/無効時でスコアの違いが最も大きい――つまり,物理演算負荷が最も高い――Stage 5を利用することにした。

 Warmongerは,解像度設定の自由度が高いので,今回は1024×768/1680×1050/1920×1200ドットの3パターンを計測している。その結果はグラフ8,9のとおりで,CPUによるソフトウェア処理ではまったくゲームにならないのが,GeForce PhysXやPhysX PPUの利用により,かなりの改善を見せることが見て取れる。

 ただ,よく見ると,GeForce PhysX有効時の9600 GTが1024×768ドットで異常なまでに高いスコアを叩き出していたり,GTX 280は解像度が上がるにつれてスコアが上がっていたりと,はっきりいって不可解極まりない。Unreal Tournament 3のTornado PhysXで見られた傾向を,さらにひどくしたような印象だ。
 NVIDIAによる旧AGEIA Technologies買収前に存在していた“PhysXアクセラレーション対応タイトル”では,GeForceで期待どおりの性能が得られない可能性があるといわざるを得まい。……それほど数が多くないのは救いだが。



GeForce PhysX使用時には

GPUの発熱が増加


 パフォーマンステストでは,PhysXアクセラレーションをオフにしたりオンにしたりする動作を繰り返したのだが,作業を進めているうちに,PhysXアクセラレーション有効時にはGPUの発熱が大きくなるように感じられた。では,実際のところはどうなのだろうか。

 ミドルクラス以下の一部製品を除いて,昨今のグラフィックスカードは,負荷によってGPUの温度が上がると自動的にファンの回転数を上げる仕様になっているため,PhysXアクセラレーション有効/無効時の違いは意外に計測しづらい。そこで,今回用意したGeForce搭載カードのうち唯一の1スロット仕様であり,冷却能力に限界があると思われる8600 GTSを用いて,GPU温度の上昇度合いをチェックすることにした。

 テストに用いた8600 GTSの温度は,アイドル時だと57℃で安定する。そこで,GPU温度が57℃で安定した状態からNurienを1ターン実行し,NVIDIAコントロールパネルから温度変化のグラフをスクリーンショットとして保存。その結果を示したのが下の2枚で,上が,上がPhysXアクセラレーション有効時,下が無効時のものだが,その違いはピーク温度から明らかだ。よく見ると,上のほうが平均温度が高いことも分かる。

PhysX
PhysXアクセラレーション有効時の温度推移(8600 GTS)
PhysX
PhysXアクセラレーション無効時の温度推移(8600 GTS)

 ちなみに今回のテスト中には,9800 GX2が,テスト中,“落ちる”現象に何度か直面し,スコアを取り直すハメになっているほか,NVIDIAのリファレンスデザインを採用した筆者手持ちの某社製8800 GTカードは,そんな現象が頻発し,テスト対象に加えることを断念した経緯がある。後者は,冷却能力の低さに定評のある(?),初期のリファレンスクーラー搭載モデルなので,発熱の上昇に耐えられなかったのだろう。
 いずれにせよ,PhysXアクセラレーションは,GPU負荷が高まるため,GPUの発熱が増大することは間違いないようだ。冷却能力に課題を抱えるようなグラフィックスカードでは,発熱によるトラブルの発生する可能性があるので,そのあたりは,あらかじめ肝に銘じておいたほうがいい。

 「あれ,消費電力のテスト結果は?」と思った人もいるだろうが,今回のテスト環境でシステム全体の消費電力をチェックする限り,PhysXアクセラレーションの有効/無効で,有意な違いは見いだせなかった。PhysXアクセラレーションを無効化すると,GPU負荷が下がる分,CPU負荷が上がるためのようである。


GeForce PhysX前提ならミドルハイクラス以上の

グラフィックスカードがお勧め


 以上,全体として,一言でまとめづらい結果になったが,

  1. GeForce PhysXに最適化されたタイトルでは,SP数と動作クロックに応じたスコアが出やすい
  2. PhysX PPUに最適化されたタイトルだと,期待どおりのパフォーマンスが発揮されない可能性がある
  3. PhysXアクセラレーションでは追加のGPU負荷がかかるので,グラフィックスカードの冷却が重要になる

といった傾向は見えてきた。
 今後,最適化されたタイトルが増えるという未来志向で論ずるのであれば,「グラフィックスカード1枚の構成でPhysXを積極的に用いたい場合は,ミドルハイクラス以上のGPU,できればハイエンドクラスのGPUが望ましい」ということになるだろう。
 SP数が2桁のGPUだと,3D描画負荷が高まったときに,物理シミュレーションとの両立がかなり厳しくなる。「ちょっと試してみる」程度であれば,9600 GTクラスでも動かないことはないので,十分といえば十分だが,SP数が2桁台前半,つまりミドルクラス下位やエントリークラスのGPUを搭載したグラフィックスカードに,GeForce PhysXパフォーマンスは期待できそうにない。

 一方,持っている人はあまり多くないと思われるが,PhysX PPU搭載カードは,まだ相応に価値がある。将来的には買い換えを迫られるはずだが,現時点で存在しているゲームタイトルであれば,そこそこのフレームレートを維持できているからだ。

 NVIDIAは,10月にも,GeForce Power Packの第2弾をリリース予定である。本稿で触れた第1弾もデモとしては興味深かったが,ゲームタイトル的には既存のPhysX PPU対応タイトルか,その焼き直しに過ぎなかった。その意味では,そろそろ「Backbreaker」など,新作の足音が聞こえてきてもいい頃合いだろう。

 いずれにせよ,最近のGeForce Driverだと,グラフィックスドライバとPhysXソフトウェアがセットで導入されるわけで,PhysXアクセラレーションを利用できるゲーム用PCの数は,AGEIA Technologies時代と比べて圧倒的に増えたことになる。NVIDIAと親しい関係のゲームデベロッパなら,そろそろUnreal Engine 3.0のEpic Games以外でも,本気になってきておかしくない頃合いだ。
 これまで,技術的には期待できても,普及には期待が持てなかったPhysXだが,GeForce PhysXには,今度こそ期待できるかもしれない。


●PhysXソフトウェア最新版「8.09.04」の効果は?

 本文でも触れたように,本稿の執筆に必要なテストをほぼ終えたタイミングで,NVIDIAからPhysXソフトウェアの最新版「8.09.04」がリリースされた。

 これはNVIDIAいわく,「一部の環境で生じていた,Unreal Engine 3.0に関連する不具合を修正したバージョン」で,パフォーマンス面への影響はないとのこと。本稿で示したスコアには十分な意味があると分かり,筆者としては一安心(?)だが,それはそうとして,8600 GTSでUnreal Tournament 3が起動しないとか,スコアが荒れるとかいった部分は,試してみた限り修正されていないようだ。

 とにもかくにも,GeForce PhysXは始まったばかりである。バージョンアップによって,PhysXパフォーマンスが向上したり,残っている不具合が解決したりといったことは,今後も頻繁に起こるだろう。なんといっても無料なので,GeForce PhysXに期待するユーザーには,積極的に新しいバージョンを使って,試してみることを勧めたい。
  • 関連タイトル:

    PhysX

  • この記事のURL:
AD(最終更新日:2018/12/04)
ASUSTek 物理演算カード PCI PhysX P1 GRAW Edition PhysX P1 GRAW Edition
amazon
Personal Computer
発売日:2006-06-01

4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:02月19日〜02月20日