Text&Photo トライゼット西川善司
XGIが,DirectX 9世代プログラマブルシェーダ2.0対応のGPU"Volari"シリーズのリリースを開始した。
ATI,NVIDIAの二大巨頭の寡占が進むPC向けGPUであるが,S3がDeltaChrome,XGIがこのVolariを発表するなど,ここにきてGPU第三勢力の動きが活発になっている。
本稿では,S3 DeltaChromeと並んで,期待の新鋭GPUといえるXGI Volariの,3Dゲームパフォーマンスの実力について見ていこう。
XGIとは? Volraiとは?
|
今回テストした「Volari Duo V8 Ultra」はVolari-GPUを2基搭載したもの。2基のファンに目を奪われがちだが,むしろ二系統の4ピン電源コネクタがあることに驚くべきだ |
XGIは,SiSでXabreなどを開発していたグラフィックス事業部が分離する形で設立されたGPU専門のチップベンダーだ。その後Trident
Microsystemsのグラフィックス事業部門を買収し,規模を拡張している。
このたび出荷が開始されたVolariシリーズは,2003年のCOMPUTEX TAIPEI 2003で電撃的に発表されて注目を集めたGPUで,XGI初のGPUではあるものの,実質的にはSiS
Xabreの後継と考えられている。極論すればSiS XabreのDirectX 9対応バージョン……といっていいかもしれない。
最初にVolariシリーズのラインナップを整理しておこう。
VolariシリーズにはXP5,V5,V8,Duoといったバリエーションが存在する。
V5とV8の違いは,コアエンジン内のピクセルレンダリングパイプラインの本数,ピクセルシェーダユニットの数である。
V5,V8は共にスタンダード版と上位モデルのUltra版に分かれ,これらの違いはコアエンジンの動作クロック及び,組み合わされるメモリクロックとなっている。
同グレードのV5とV8では,コアエンジンの動作クロックと,組み合わされるメモリクロックに違いはないが,上位のV8はピクセルレンダリングパイプライン本数と,ピクセルシェーダユニット数が2倍のデザインになっているため,パフォーマンス格差はそれなりに生じることになる。なお,頂点シェーダユニットの数はV5,V8共に同じだ。
そしてVolariシリーズの最上位モデルとなるのがDuoだ。これはVolari-GPU2基を1カード上に搭載したデュアルGPUビデオカードだ。Volari
Duoにも上位/下位モデルが存在し,下位モデルはV5 Ultraを2基組み合わせたDuo V5 Ultra,上位モデルはV8 Ultraを2基組み合わせたDuo
V8 Ultraとなっている。
Volariシリーズの公称スペック
(一部筆者推測) |
|
Volari
Duo V8 Ultra |
Volari
Duo V5 Ultra |
Volari
V8 Ultra |
Volari V8 |
Volari V5 Ultra |
Volari V5 |
Volari XP5 |
コアアーキテクチャ |
DirectX9.0世代 |
← |
← |
← |
← |
← |
DirectX8.1世代 |
コアクロック |
350MHz |
← |
← |
300MHz |
350MHz |
300MHz |
250MHz |
ビデオメモリ
インターフェース |
128bit×2 |
← |
128bit |
← |
← |
← |
← |
ビデオメモリ |
256MB×2 |
← |
256MB |
← |
← |
← |
128MB |
最大メモリクロック(DDR) |
DDR1-750MHz
DDR2-1GHz |
DDR1-750MHz
DDR2-1GHz |
DDR1-750MHz
DDR2-1GHz |
DDR1-650MHz
DDR2-900MHz |
DDR1-750MHz
DDR2-1GHz |
DDR1-650MHz
DDR2-900MHz |
DDR1-500MHz |
メモリバンド幅 |
DDR1-12.0GB/sec×2
DDR2-16.0GB/sec×2 |
DDR1-12.0GB/sec×2
DDR2-16.0GB/sec×2 |
DDR1-12.0GB/sec
DDR2-16.0GB/sec |
DDR1-10.4GB/sec
DDR2-14.4GB/sec |
DDR1-12.0GB/sec
DDR2-16.0GB/sec |
DDR1-10.4GB/sec
DDR2-14.4GB/sec |
8.0GB/sec |
テクセル毎秒 |
28億×2 |
14億×2 |
28億 |
24億 |
14億 |
12億 |
10億 |
頂点毎秒 |
1億7500万×2 |
1億7500万×2 |
1億7500万 |
1億5000万 |
1億7500万 |
1億5000万 |
6250万 |
頂点シェーダユニット |
2×2 |
← |
2 |
← |
← |
← |
1 |
ピクセルレンダリングパイプライン |
8×2 |
4×2 |
8 |
← |
4 |
← |
← |
ピクセルシェーダユニット |
4×2 |
2×2 |
4 |
← |
2 |
← |
1 |
デュアルGPU構成のVolari Duo
DuoのデュアルGPUという構成を聞いて,3dfxのVoodooシリーズを思い出した人もいるかもしれない。
Voodoo1/2ではPCIビデオカードのVoodooカードを2基搭載し,偶数走査線と奇数走査線をそれぞれのVoodooでレンダリングするという仕事分担でパフォーマンスの効率化を図った。
これに対し,Volari Duoではフレーム単位での分業を行う。あるフレームをVolari#1がレンダリングしている最中にVolari#2は次フレームのレンダリングの準備をオーバーラップさせ,3D描画の効率化を図るわけだ。なおGPU側に,滞りなくレンダリングに必要な情報を送り続けられなければ,レンダリング処理のオーバーラップができない。したがってCPUやその周辺が十分に高速でないとこのシステムのメリットは出にくいことになる。
また,Volari#1と#2はそれぞれ独立したビデオメモリを積んでいる。このことからテクスチャデータはVolari#1,#2双方のビデオメモリに転送されることとなる。
また,シーンをテクスチャにレンダリングし(動的な環境マップ作成など),これを次フレームでもテクスチャとして用いる場合などでは,そのままではVolari#1と#2とでテクスチャの整合性がおかしくなるため,テクスチャメモリの同期作業が必要になる。こういうケースではレンダリングフェーズのオーバーラップは困難になり,パフォーマンスの向上は望めなくなる。
|
両GPU間は専用通信バス「BitFluent Bus」で結ばれる |
パイプラインのすべてにピクセルシェーダがあるわけではない
スペック表を見て「おや?」と思った人も多いかもしれない。
ピクセルシェーダユニットの数がピクセルレンダリングパイプラインの半分しかないのだ。例えばVolari V8ならば,8本のパイプラインのうち4本にはピクセルシェーダユニットがない。
「あとの4本にはピクセルシェーダが無いのか?」という疑問が浮上するが,実際その通りなのだ。
では,あとの4本はどう機能するかというと,DirectX 7世代相当の固定パイプラインとして機能する。つまり,シェーダプログラムは,含んだレンダリングを4本分のパイプラインでしか動作できないことになる。
スペック通りの8本パラレルのレンダリング実行は,DirectX 7世代以前の固定パイプライン描画を行った場合のみに限定されるのだ。
こうした設計になった理由は,Volariが最大性能よりもコストパフォーマンスを重視した製品だからと推測される。
なお,ピクセルシェーダ部の浮動小数点実数演算精度は24ビットで,ATI RADEON系と同等となっている(GeForceFX系は32ビット)。
実売価格4万円台後半のVolari Duo V8 Ultraの実力は?
今回,入手することが出来たVolariは,最上位モデルとなる「Volari Duo V8 Ultra」だ。カードはC.P.Technology製,型番は「X40D-D3」で,初期ロットのためか,メモリクロックが公称スペックの1GHzよりも若干低い900MHz(450MHz
DDR2 SDRAM)となっている。
さっそく3Dゲームを使ったベンチマークテストを中心に実行してみた。テストは基本的にはデフォルト設定で行っているが,そうでない場合は各ベンチマークテスト項目ごとに設定を特記しておいた。
またテスト画面モードは,多くのPC向け3Dゲーム開発元が,その動作環境を「現在の標準」として想定している1024×768ドット/32ビットカラーに設定した。
対抗GPUとして用意したのは,NVIDIA GeForceFX 5600と,GeForceFX 5950Ultra,ATI
RADEON 9600PROとRADEON 9800PRO。そして前回「こちら」で紹介したS3
DeltaChromeだ。
Volari単体はハイエンドGPUとして設計されていないのは前述したとおりだが,デュアル構成時のDuoのパフォーマンスはちょっと予測できない。ということでGeForceFX
5950UltraやRADEON 9800PROのようなハイスペックモデルにも登場願ったというしだいだ。
ちなみに,今回使用したVolari Duo V8 Ultra搭載の「X40D-D3」は,販売価格が4万円台後半であり,価格的にはGeForceやRADEONの最上位モデルと競合することが予想され,そのパフォーマンスに期待が集まるのも当然といえば当然だろう。
|
上がGeForceFX5950Ultraカード。値段も互角なら巨大さも互角,果たしてそのパフォーマンスは? |
3DMark03Build340〜最上位GeForce,最上位RADEONに迫る |
業界標準の3Dベンチマーク「3DMark03」のテスト結果を下記に示す。
ドライバの世代が新しくなるたびに「3DMark03最適化」が進んでいるために,事実上"業界標準"の意味が薄くなりつつあるが,とりあえず結果を見てみたい。
3DMark03のスコアは,いわゆるメインストリームクラスGPUを大きく上回り,最上位クラスのGeForceFXとRADEONに迫る結果となった。
幸いにも3DMark03のスコアに直接影響する,3Dゲーム系テストGT1〜GT4はあまりフレーム間に相関性のある環境マップ生成などが行われていないため,Volari
Duoが想定する2GPUによる分散レンダリングスタイルが功を奏したようだ。
もう一つ特記すべきなのは,二つのFill Rateテストの結果だ。
FillRate(Single-Texturing)は,GPUコアクロックとメモリクロック,そしてビデオメモリバンド幅が結果に直接結びつくテストだ。
GPU単体のメモリバスが128ビットとなっているVolariだが,メインストリームクラスGPU群とは,そのメモリ速度比以上のハイスコアをマークし,256ビットのGeForceFX
5950UltraやRADEON 9800PROにも肉迫している。
なぜかというと,このテストもフレーム相関が皆無であるため,GPU×2構成が理想に近い形で並列動作でき,いってみれば見かけ上は256ビットとして動作できたためだ。
一方,FillRate(Multi-Texturing)は,GPUコアクロックとメモリクロック,そしてビデオメモリバンド幅に加え,さらにレンダリングパイプラインの本数がスコアに直結する。
Volariはプログラマブルピクセルシェーダが半分のパイプラインにしか搭載されていないが,このテストは固定パイプラインで実行できるため,Volari Duo
V8 Ultraでは,8本のパイプラインすべてが活用される。しかも,ここでもフレーム相関のテクスチャなどは出てこないので,各Volariは並列動作が出来る。そのため,ここでも見かけ上,16パイプライン的な動作が可能になる。
3DMark03Build340の結果(1024×768/32ビットカラー,設定デフォルト)
|
3DMark Score |
GT1 - Wings of Fury |
GT2 - Battle of Proxycon |
GT3 - Troll's Lair |
GT4 - Mother Nature |
Fill Rate (Single-Texturing) |
Fill Rate (Multi-Texturing) |
Vertex Shader |
Pixel Shader 2.0 |
Ragtroll |
|
3DMarks |
FPS |
FPS |
FPS |
FPS |
MTexels/s |
MTexels/s |
FPS |
FPS |
FPS |
Volrai Duo V8 Ultra |
4526 |
129.6 |
36.7 |
28.4 |
22.9 |
1472.4 |
2187.2 |
16.1 |
17.3 |
11.5 |
DeltaChrome |
2441 |
96.2 |
15.3 |
13.2 |
14.3 |
777.1 |
1990 |
10.1 |
15.7 |
9 |
GeForceFX5600 |
2638 |
108.2 |
18.5 |
14.9 |
11.9 |
860.9 |
1083.6 |
6 |
11.7 |
10.3 |
ATI RADEON9600PRO |
3266 |
113.9 |
21 |
19.1 |
19.6 |
902.6 |
1539.2 |
10.4 |
29.3 |
13.6 |
GeForceFX5950Ultra |
5652 |
154.1 |
43.4 |
33.4 |
34.9 |
1513.8 |
3324.3 |
17.9 |
40.8 |
21.2 |
RADEON9800PRO |
5287 |
147.2 |
37.6 |
32.6 |
33.3 |
1695.2 |
2604.8 |
18.1 |
48.4 |
24.2 |
3DMark03のスコアはメインストリームクラスを引き離し,価格に見合う感じだが…… |
Unreal Tournament 2003(1024×768/32ビットカラー)〜全GPUで横並びの結果 |
「ジオメトリ量はそれなり」「シェーダは簡易的だが,固定パイプラインのマルチテクスチャリングは多用する」……2003年までの3D-PCゲームの典型スタイルともいえた「Unreal
Tournament 2003」だが,もはや現行GPUでのスコア差は出にくくなっており,スコアはほぼ横並びの結果となった。
Unreal Tournament 2003(1024x768/32ビットカラー)
|
Flyby |
Botmatch |
Volrai Duo V8 Ultra |
145.160965 |
54.14653 |
DeltaChrome |
132.833649 |
52.407398 |
GeForce FX 5600 |
123.161591 |
54.602528 |
RADEON 9600PRO |
143.817032 |
55.475719 |
GeForce FX 5950Ultra |
153.675858 |
54.227997 |
RADEON 9800PRO |
157.117142 |
55.208752 |
このクラスの3Dゲームであれば,もはやメインストリームクラスGPUでもストレスなくプレイできるということだ
|
Splinter Cellベンチマーク(1024×768/32ビットカラー)〜ここでもハイエンドGPUに迫る結果を残す |
「Tom
Clancy's Splinter Cell」の,Version.1.2パッチにて追加されたベンチマークモードで計測を行った。例によって,GeForce系が有利にならないように,影生成メソッドではシャドウバッファ技法をキャンセルし,プロジェクションシャドウ技法を使うように設定して計測した。
結果は,RADEON 9800PROを抜き,GeForceFX 5950Ultraに肉迫するものとなった。
SplinterCellのレンダリングエンジンは,プログラマブルシェーダ1.xを積極的に活用している。ベンチマークテストで活用されるテストシーンでは,フレーム相関テクスチャはなく,ここでも3DMark03の3Dゲーム系テストと同様に,Volari
Duoのデュアル効果が理想的に発揮されたようだ。
プログラマブルシェーダの負荷が小さいシーンを集めて構成されたSplinter Cellベンチは,最近のGPUではどれもスコアが高くなる傾向にあるが,ここまでメインストリームクラスGPUを引き離せたのはVolari
Duoアーキテクチャが効果的に働いた結果と見るべきだろう。
Splinter Cell(1024×768/32ビットカラー)
|
SCENE1 |
SCENE2 |
SCENE3 |
TOTAL |
Volrai Duo V8 Ultra |
44.354019 |
41.199967 |
40.27396 |
125.827946 |
DeltaChrome |
23.395511 |
18.777278 |
20.72852 |
62.901309 |
GeForce FX 5600 |
24.031234 |
19.871595 |
29.375296 |
73.278125 |
RADEON 9600PRO |
32.699284 |
26.262549 |
36.029657 |
94.99149 |
GeForce FX 5950Ultra |
44.116688 |
41.680025 |
42.287146 |
128.083859 |
RADEON 9800PRO |
42.173194 |
37.933622 |
39.277721 |
119.384537 |
ここまでの結果を見る限りはVolari Duoアーキテクチャは有効に働いているように思える |
トゥームレイダー 〜美しき逃亡者〜ベンチマーク(1024×768/32ビットカラー)
〜デュアルGPUアーキテクチャが仇になる瞬間 |
「トゥームレイダー
〜美しき逃亡者〜」(以下,TR6ベンチ)のVer.49にあるベンチマークモードでの計測。
Glow効果をOnにすると,DeltaChromeではリセットがかかってしまうので,これを外しての測定を行っている。なお,より詳細な設定状態については,下の設定画面を参照してほしい。
結果は,Volari Duoの惨敗。メインストリームクラスGPUにすら完膚無きまでに叩き潰されている。
まず,TR6ベンチでは,水面の映り込み処理などに3Dシーンのテクスチャへのレンダリング(レンダーターゲット)を行っている。そして,今回行ったテストでは,最も重い「このレンダーターゲットを毎フレーム生成する」設定にしたのだが,これはVolari
Duoにとっては最悪ともいえる設定となる。
というのもVolari Duoは,毎フレームごとにテクスチャが更新されてしまうので,それこそフレームそれぞれのVolariに,専用接続されたビデオメモリの整合性を整えるための処理に追われてしまう。つまり,各Volariの並列分散レンダリングによるオーバーラップ描画作戦がまったく生かされないレンダリングスタイルになるのだ。いってみれば,ただ交代でVolari#1とVolari#2が描画を行っているだけの状態だ。
それにしてもこのパフォーマンスの落ち込みは普通ではない。
どのようなスタイルでビデオメモリ整合処理が介入するのかは,資料がないので推測するしかないが,Volari#1とVolari#2が交互に描画をするだけでなく,その間にビデオメモリ整合処理が入り,これがボトルネックになっている可能性は否定できない。
少なくとも現段階では,「このシナリオにハマるとVolari DuoはメインストリームクラスGPU以下の性能になる可能性がある」と見ておくべきだろう。
ちなみに,TR6のオプション設定で,このレンダーターゲット効果関連をキャンセルして実行してやると,途端にパフォーマンスが向上する。すべてキャンセルした状態では55.763542fpsをマークしたことを付け加えておこう。
TOMBRAIDER AOD(1024×768/32ビットカラー)
|
TOMBRAIDER AOD |
Volrai Duo V8 Ultra |
6.218835 |
DeltaChrome |
21.20085 |
GeForce FX 5600 |
11.65202 |
RADEON 9600PRO |
28.281946 |
GeForce FX 5950Ultra |
38.737461 |
RADEON 9800PRO |
49.766041 |
初めはDirectX
9のソフトウェア・リファレンス・ラスタライザが始動したのかと思ったが,それよりもフレームレートは高い。テストの最中に,水色の生ポリゴンが表示される現象がときどき発生した。
TR6ベンチのセッティング例#1,#2,#3。GeForce系で有利不利が出ないように"nVidia
Shadow"(GeForce系で利用できる)と"Pixel Shader2.0 Shadow"(GeForce系で利用できない)はオフにしている |
FINAL FANTASY XI for Windowsオフィシャルベンチマーク
ソフト2
〜ドライババグのために実力発揮できず?
|
ジオメトリ処理は高負荷だが,ピクセル処理系はマルチテクスチャリング主体で,複雑なシェーダプログラムは動いていないFFベンチ2。タイプとしてはUT2003ベンチに近いので高スコアを期待していたのだが,メインストリームクラスGPU以下のスコアに落ち込んでしまった。
原因は筆者にも分からず。何度実行してもスコアが1500台しか出なかった。
なお実行中の動作を観察していると,レンダリングしたフレームを多重に重ねて見せるブラー効果のシーンが非常に重くなる現象に気づいた。また,そのブラー映像に砂嵐のようなゴミが入ることも多々あった。ブラー映像の生成は前フレームをテクスチャ化したものを活用するので,このテストでもビデオメモリの整合処理関係の遅延が出たのかもしれない。
あるいは単純にドライバのバグがパフォーマンスに影響している,ということなのかもしれないが。
FFベンチ2(ハイクオリティ)
|
FFベンチ2 |
Volrai Duo V8 Ultra |
1520 |
DeltaChrome |
3268 |
GeForce FX 5600 |
2756 |
RADEON 9600PRO |
3433 |
GeForce FX 5950Ultra |
4057 |
RADEON 9800PRO |
4006 |
「Volari DuoでFFXIを」と考えている人は,ドライバがバージョンアップされるまで待ったほうがいいかも……
|
AquaMark3(デフォルト)
〜3DMark03同様にハイスコアをマーク |
3Dグラフィックスの要素テストを,実際の3Dゲームエンジンの中で実戦的にテストしていくのが,AquaNox2エンジンベースのベンチマーク「AquaMark3」だ。
AquaMarkとして表示されるトータルスコアは,全テストの平均フレームを100倍したものだが,これはRADEON 9800PROにピタリと付けるほどの好成績を残した。
各テスト結果を個別に着目しても,目立った低得点のテスト項目もない。このテストも動的なテクスチャ生成はないので,傾向としては3DMark03の3Dゲーム系テストGT1〜GT4同様に,Volari
Duoの分散並列レンダリング機構がうまく機能したように思われる。
AquaMark3(デフォルト)
|
AquaMark3 |
Dynamic Occlusion Culling |
High Particle Count |
Masked Environment Mapping |
Large Scale Vegetation Rendering |
Large Scale Terrain Rendering |
Vertex And Pixel Lighting |
3D Volumetric Fog |
Complex Multimaterial Shader |
Massive Overdraw |
Volrai Duo V8 Ultra |
31092 |
48.48 |
19.06 |
38.27 |
19.58 |
34.52 |
38.04 |
43.26 |
33.55 |
22.83 |
DeltaChrome |
19395 |
29.37 |
12.04 |
22.97 |
15.37 |
23.94 |
23.81 |
24.49 |
17.88 |
13.03 |
GeForceFX5600 |
17822 |
41.92 |
12.05 |
25.17 |
7.96 |
21.06 |
20.85 |
28.34 |
18.8 |
12.39 |
ATI RADEON9600PRO |
24597 |
47.39 |
15.3 |
33.15 |
14.7 |
30.83 |
30.9 |
32.7 |
24.83 |
15.29 |
GeForceFX5950Ultra |
37321 |
54.04 |
28.29 |
42.49 |
23.07 |
40 |
44.29 |
47.31 |
38.57 |
29.08 |
RADEON9800PRO |
33152 |
48.76 |
25.55 |
38.41 |
25.62 |
34.23 |
38.6 |
39.31 |
32.93 |
23.01 |
スコアだけ見る限りは立派。とはいえ,あまりにもスコアが高いので,「もしかするとアグレッシブな最適化をドライバレベルでやっている?」と疑いたくなってしまうのは筆者だけではあるまい |
まとめ〜Volari Duoはギャンブラーのために?
各テストの解説部分では書かなかったが,正直なところドライバの安定性には一抹の不安を感じてしまった。
というのも,描画が乱れるときがあるだけでなく,PCがハングアップすることも多々あったためだ。ドライバのバージョンアップは頻繁に行われているようなので,安定性の獲得にはそう時間はかからないと思うが,裏を返せば,「初心者が,今すぐ手を出すことはないのでは」ということでもある。
そして,パフォーマンス面。
レンダリングをちゃんと分散して並行に行え,各フレームの描画処理がオーバーラップできた場合には非常に高いパフォーマンスが期待できる。今回の実験で,このXGIの理想論はなんとなくは実感できたと思う。
しかし,この理想のパターンにハマらなかったときのペナルティは,TR6ベンチの結果を見ると,あまりにも大きすぎる気もする。
理想のパターンにハマりやすいのは,あまり動的なテクスチャ生成を行わない2003年の前期くらいまでに登場したタイトルになりそうで,2004年に登場してくるタイトルに対応できるかは,現時点では予想もできない。TR6ベンチの結果を見る限り,先行きはそれほど明るくなさそうではあるが。
"ギャンブル"。Volari Duoを短い言葉で表現するならばこうなるだろうか。4万円台後半もするビデオカードで,ほかのカードという選択肢も存在する現状では,これといって訴求力に乏しい気もする。
最後に,今後のXGIのGPUのロードマップについても簡単に話しておこう。
2004年後半から2005年にかけて,XGIは次世代Volari,XG45/46(開発コードネーム)のリリースを計画している。こちらはDirectX
9のプログラマブルシェーダ3.0仕様に対応したものになると予測されている。またXGIは,Volari DuoのデュアルGPUアーキテクチャは,「今後のGPUには必要不可欠なテクノロジ」と強くアピールしていることから,次期XG45/46シリーズでも採用される見込みだ。
NVIDIAとATIがほぼ独占するPCゲーム界で,XGIにはS3と共に今後の活躍に期待したいものだ。
テストマシン環境 |
CPU |
Pentium4/1.6A-GHz(2.133GHz動作) |
マザーボード |
ASUS P4B266 |
メモリ |
PC2100 SDRAM 768MB |
ハードディスク |
SEAGATE ST313620A |
Volari Duo V8 Ultra |
XGI試作カード |
DeltaChrome |
S3試作カード |
Radeon 9600PRO |
GIGABYTE GV-R96P128D |
Radeon 9800PRO |
ATI純正カード |
GeForce FX 5600 |
Albatron FX5600P TURBO |
GeForce FX 5950Ultra |
eVGA e-GeForceFX5950 Ultra |
|