お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2011/05/28 12:00

連載

西川善司連載 / 完全理解「3DMark 11」(中)〜スコアの算出方法

西川善司の3Dエクスタシー 完全理解「3DMark 11」(中)〜スコアの算出方法

 

 「3DMark 11」の正体と意義を明らかにする本シリーズ。中編となる今回はスコアの話になる。
 前編はレンダリングエンジンに関する解説だったため,どちらかというとテクノロジーが主体で,難しい印象もあったと思うが,今回はどちらかというと一般PCユーザー向けの話題。PCをアップグレードするときの参考にもなるはずだ。

 

 

3DMarkの開発コンセプトを3DMark 11も踏襲

 

 3DMark 11では,設定を変えることで,システムに任意の負荷を与え,スコアを得ることができるが,ほかのユーザーやレビューサイト,雑誌などに掲載されているスコアとの比較を行えるように,Futuremarkは標準となるベンチマーク設定を設けている。それが「Preset」(プリセット,以下カタカナ表記)だ。

 プリセットは「Entry」「Performance」「Extreme」の3つ。詳細は後編で解説するので,今回はさわりだけ紹介するに留めるが,プリセットによる設定の違いは表1にまとめたとおりである。

 

表1

 

 Entryは文字どおり,エントリー以下のGPUを対象にしたプリセットだ。ノートPCやNetbookも対象とすべく,ターゲット解像度は1024×600ドットとされ,テスト負荷を決定する各種オプションも,負荷が非常に低くなるよう設定されている。

 

image

3DMark 11では3種類のプリセットが用意されている

 続いてPerformanceは,ミドルクラスのGPUを使っての実行が想定されたプリセット。平均的なスペックのゲーム用PCが想定されている,とも言い換えられる。
 レンダリング解像度は1280×720ドットと,2011年におけるディスプレイ解像度のトレンド考えるとやや低めだが,それが理由でスコアがすぐ飽和してしまわないようにという配慮からか,グラフィックス設定は若干“重め”な設定になっており,高い平均フレームレートを得るためには,ハイクラスのGPUが必要となる。

 最後にExtremeだが,これは,ハイエンドGPUや,将来登場してくるGPUを想定したもの。解像度は1920×1080ドットなので,闇雲に高いわけではないが,ほぼすべてのオプションが最上位設定になっているため,総合的な負荷は非常に高い。端的に述べると,2011年春時点のハイエンドGPUをもってしても,フレームレートはあまり高くならない。
 Futuremarkは「進化の速いGPU業界にあって,3DMark 11の寿命を相応に長く保つための配慮」としているので,スコアの伸びしろはまだある,と理解しておくべきだろう。要するに,3つのプリセット中,スコアが最も飽和しにくい設定ということである。

 

16:9のワイドアスペクトが標準に

 3DMark 11では,いわゆるワイドタイプのディスプレイが主流化したことを受けて16:9アスペクトの画面モードが標準になったようで,「3DMark Vantage」から,プリセットごとの解像度が変更になっている。Entryは1024×768ドットから1024×600ドット,Performanceは1280×1024ドットから1280×720ドット,Extremeは1920×1200ドットから1920×1080ドットへといった具合だ。そのため,数値だけ比較すると,3DMark 11ではレンダリング解像度が若干引き下げられている印象を持つかもしれない。
 実際のところは,16:9アスペクトを重視したら結果的にこうなった,ということなのだろうが。

 なお,有償版の「Advanced」「Professional」両エディションでは,16:9アスペクト以外の解像度も選択できるが,その場合は非表示領域を足して16:9アスペクトの映像を表示する設計になっている。

 

image

800×600ドット,アスペクト比4:3の解像度選択時。800×450ドット(16:9)の領域に映像が描かれるため,上下に黒帯が入っている

image

1280×1024ドット,アスペクト比5:4の解像度選択時。上下に大きな黒帯が入り,上下中央1280×720ドット(16:9)の領域内に映像が描かれる

image

1680×1050ドット,アスペクト比16:10の解像度選択時。上下に小規模の黒帯が入ったうえで,1680×945ドット(16:9)領域に映像が描かれる

image

1440×480ドット,アスペクト比3:1の解像度。極端な横長にしてみると,左右に大きな黒帯が入り,853×480ドット(16:9)の領域に映像が描かれる

 

 Extremeプリセットの解像度は,1920×1080ドットではなく,NVIDIAやAMDがやたら訴求している2560×1600ドットでもよかったように思えるが,3DMark 11では高解像度で負荷を掛けるよりも,レンダリング負荷のほうを重くする形で,Extremeプリセットにおけるスコアの伸びしろを稼いでいるようだ。
 もちろん,「3DMark VantageのExtremeプリセットにおける1920×1200ドットがフルHDパネルでは表示できない」という問題もあったので,互換性に配慮したという可能性も考えられよう。

 

image

Extremeプリセットで総合スコアを取得したところ。「X」の後に数字が続く

image

ユーザー側で設定を変更し,1項目でもプリセットと異なるテスト条件になった場合,3DMarkスコアは算出されない

 さて,あらためて述べるまでもないことだとは思うが,EntryとPerformance,Extremeといった各プリセットで得られたスコアは,混ぜて比較しても意味がない。

 それを分かりやすくすべく,Futuremarkは3DMark Vantageで「スコアの前にプリセットの頭文字を置く」というやり方を導入したが,それは3DMark 11でも引き継がれている。具体的にはEntryプリセットなら「E」,Performanceプリセットなら「P」,Extremeプリセットなら「X」といった具合だ。Futuremarkは,E,P,Xの付いたスコアのみを公式のものとしており,3DMark.com――エンドユーザーがテストを実行した後,スコアが自動的にアップロードされる先,という理解でかまわない――で掲載されているスコアは,これら3プリセットのものに限られている。

 Advanced Edition以上では,ユーザー側でテスト設定を細かく設定可能だが,設定をプリセットから1つでも変更すると,3DMark 11の総合スコアは算出されず,各テストの結果だけが表示されるようになるというのも,3DMark Vantageと同じだ。

 

 

3DMark 11におけるテッセレーションステージ「2つの活用方法」とは?

 

 3DMark 11のスコアは4つの「Graphics」(グラフィックス)テスト,1つの「Physics」(物理シミュレーション)テスト,1つの「Combined」(複合)テストと,計6個のテスト結果から算出される。

 前編で,レンダリングエンジンについての技術的解説は行ってきたが,ここで,テストごとの説明も行っておこう。

 

Graphics Test 1

 “深海・パート1”的なテストシークエンス。テッセレーションステージはほとんど活用されていない一方,潜水艦に装備されているライトに割り当てられた無数の光源が目立つものとなっている。

 ここでライティングに用いられているのは,

  • スポットライト:照射方向を限定した光源で,「点光源の照射方向抑制版」みたいなイメージ。平行光源とは異なる
  • 点光源:全方位に光を照射する光源

の2つで,影生成は一部のスポットライトからのみ生成されている。

 

image

実体としての影は,矢印で示したとおり,岩肌に投射されているものくらい

 テストを“重く”しているのは,前編でも解説した「Volumetric Illumination」(ボリューメトリックイルミネーション)の部分で,見た目以上にテクスチャアクセス負荷とピクセルシェーダ負荷が高い。
 実体として投射されている影は,岩肌に投射されている鉄塔のものくらいで,あまり目立たないが,「潜水艇同士が互いに光を当てつつも遮蔽し合うことでできる空間」に伸びる影は,このVolumetric Illuminationによって間接的に可視化されている(※Volumetric Illuminationが直接的に影を処理しているのではなく,処理の結果として影が可視化される)。
 また,ポストプロセスとしてはレンズフレアなどが積極的に活用されている。

 

image

無数の光源は潜水艇のライトから

image

伸びる影はVolumetric Illuminationによる

 

Graphics Test 2
image

岩肌の珊瑚やフジツボなどは,テッセレーションステージの活用によりディテールが付加されている

 “深海・パート2”的なシークエンスで,登場する潜水艇は1機だけ。そのため,光源数はGraphics Test 1と比べてかなり少ない。ただ,用いられている光源の種類自体はGraphics Test 1と変わっておらず,「スポットライトは影生成ありとなしの2パターン」「点光源は影生成に対応せず」というルールがそのまま引き継がれている。Volumetric Illuminationの結果としての,空間に伸びる影のように見える影部分もそのままだ。

 Graphics Test 1との大きな違いは,テッセレーションステージが積極的に活用されている点にある。海底に見える珊瑚礁や岩,フジツボのような構造物はすべて,テッセレーションとディスプレースメントマッピングによってディテールが与えられている。
 ポストプロセスでは,前編でも解説した「ジオメトリシェーダを活用した被写界深度表現」などが目立つ。

 

image

空間に伸びる影はボリュメトリックレンダリングによる

image

ポストプロセスによって被写界深度表現が付加されている

 

Graphics Test 3

 “ジャングル・パート1”的なテストシークエンス。ただし,動体物はほとんど登場せず,カメラが動き回るだけの静かなものとなっている。

 

image

太陽として設定された平行光源が,シーン内全オブジェクトの影を生成する

 太陽が登場する関係で,これを平行光源として用意し,登場する構造物のほぼすべての影がこれから与えられている。前編でも述べたとおり,用いられている影生成の手法はカスケード方式のデプスシャドウ技法だ。
 間接照明的というか大域照明的に,そこそこの数の点光源も配置されているが,これらは影生成には関与していない。

 Graphics Test 3において,Volumetric Illuminationは,太陽光の平行光源によって生成される光条描写のためだけに用いられており,その反射濃度値(Optical Density)は,地上からの高さ情報に比例して変化が与えられている。レンダリング結果を見た印象だと,低い位置のほうが湿度は高くなっている(=高い反射濃度値になっている)ようだ。

 テッセレーションステージは,植物や石像,石柱の曲面表現やディテール生成に利用されている。あまり目立たないながら,レンズフレアや被写界深度などの効果にポストプロセスも利用されており,総じてGraphics Test 1&2と比べて負荷の高いテストになっているといえるだろう。

 

image
image

Volumetric Illuminationは,太陽光が作り出す「空間に伸びる影」を生成するために利用される(左)。なお実行にあたっては,光散乱シミュレーションが配慮されているとのことだ。右は被写界深度表現の例で,これはポストプロセスによるものである

 

Graphics Test 4

 “ジャングル・パート2”的なテストシークエンスで,Graphics Test 3とほぼ同一のセットだが,ライティングシチュエーションは夜になっている。カメラの移動コースも違うため,一見すると別のシーンにも思えるくらいだ。

 

image

月の光は平行光源として与えられ,シーン内の全オブジェクトに光を当てる。さらに影生成元としても処理される

 月の光は平行光源で与えられ,これがシーン内すべてのオブジェクトに対して影を生成させている。点灯するオフロード車のヘッドライトはスポットライトとして設定されており,これも照射範囲内のオブジェクトに影を投射させている。

 Volumetric Illuminationの活用はGraphics Test 3と同等。テッセレーションステージの使われ方も変わっていないが,前者は月の平行光源とヘッドライトのスポットライト,それらすべてで行われ,後者はオブジェクトを生成するときだけでなく,影を生成するためのシャドウマップ生成時にも行われているとのこと。Graphics Test 3と比べると,見た目以上に高負荷なテストになっているわけである。
 なお,ポストプロセスの使われ方はGraphics Test 3とまったく同じだ。

 

image

月光だけでなく,車のヘッドライトも影生成に関与している

image

石像や植物の一部ディテール生成にはテッセレーションステージを活用

 

Physics Test
image
image
image

グラフィックス負荷があえて低く抑えられている本テスト。物理シミュレーション自体はCPUが実行する

 「積み上げられたブロックを,落下する球体が崩していく」シークエンスが描かれるテストだ。
 ここで行われているのは,剛体の衝突からなる物理シミュレーションで,その数は膨大。ただ積み上げられているだけでなく,剛体パーツ同士が仮想的な接着剤で接合されているオブジェクトもいくつか用意されており,衝撃によって接合が解け,構成パーツ単位に崩壊するところまでシミュレートされる。

 ここで採用されている物理シミュレーションエンジンは,オープンソースの「Bullet Physics」。Bullet Physicsに関しては,AMDがDirectComputeやOpenCLを使ってアクセラレーションすると表明しているが,3DMark 11上だと,CPU上でマルチスレッド実行されている。バイナリは静的に生成されたものが利用されており,CPUの種別に応じた最適化は行われない。

 なお,Physics Testにおけるグラフィックスは意図的に限定的な表現となっており,プリセットや解像度に関わらず,1280×720ドットに固定される(※それ以下の解像度でテストを実行すると,縮小表示される)うえ,Volumetric Illuminationやポストプロセスも適用されない。総じて,CPUの性能測定に特化したテストになっていると述べていいだろう。

 

Physics Test
image
image
image

複合テストは,物理シミュレーションとグラフィックスの複合テストであると同時に,物理シミュレーションをCPUとGPUの両方に行わせる複合テストでもある

 Combined(複合) Testという名称のとおり,「3Dグラフィックスと物理シミュレーション」,あるいは「GPUとCPU」の複合テストとなるものだ。Physics Testとシーン自体はけっこう似ているものの,そのビジュアル品質はかなり引き上げられているというのは,画面を一目見ただけで分かるだろう。

 物理シミュレーション周りはPhysics Testとほぼ同じで,剛体同士の衝突や,剛体同士を接合したオブジェクトの崩落などといった物理シミュレーションは,Bullet Physicsで処理される。静的に生成されたバイナリをCPUでマルチスレッド実行するのもPhysics Testと同じだが,ここではそれらに加え,シークエンス中に登場する「旗のはためき」の柔体物理シミュレーションをGPU側でDirectCompute処理するようになっているのも特徴だ。その意味で,物理シミュレーションもCPUとの複合で動いているといえる。

 「複合テスト」というコンセプトのためか,グラフィックス負荷は相応に高く,実際,石柱のディテール生成にはテッセレーションステージが活用されていたり,空気の遠近表現などにはVolumetric Illuminationが使用されていたりする。また,レンズフレアや被写界深度表現などのポストプロセスも組み合わされている。

 

 

3DMark 11のスコア算出式

 

 前述のとおり,3DMark 11のスコアは,以上6テストの結果を基に算出されるが,過去の3DMarkと同様,Futuremarkは,カテゴリごとに「中間スコア」を算出し,それぞれに重み付けを行って最終スコアを出す方式を採用している。

 

image

3DMark.comで確認できるスコア(※サムネイルでは一部省略しています。拡大画像は縦に長いので注意してください)。下のほうにスクロールすると,テストごとの平均フレームレートを確認できる

 まずは4つのGraphics Testの結果から求めている中間スコア「Sgraphics」の算出法から見ていくことにしよう。

 まずGraphics Test 1〜4のスコアからだが,これらはそれぞれ平均フレームレートがそれぞれ「GT1」〜「GT4」として求められる。3DMark 11のスコアをオンラインで確認したとき,「GraphicsTest1」〜「GraphicsTest4」と表示されるのがそれだ。ちなみにAdvanced Edition以上では,「Result」タブにそのままGT1〜GT4と表示される。

 この4つのGT1〜GT4の値を元に算出されるのがGrpahics Testスコア「Sgraphics」なのだが,これは以下の式で算出される。

 

image

 

 一見,何を計算しているか分かりにくいものの,これは平均フレームレートで表されるGT1〜GT4の「調和平均」(Harmonic Mean)を計算するもの。「データの逆数の平均を求めて,さらにその逆数を取る」計算で求められる。

 大きなクエスチョンマークが浮かんだ人もいると思うので,中高の教科書に出てきそうな,「ある2区間を,20km/hと100km/hとで走行した人がいます。平均時速はいくつですか?」という問題文で考えてみよう。
 これを普通の算術平均(=相加平均)で求めると,以下のような計算式になる。

 

(20+100)÷2=60km/h

 

 だが,調和平均だと以下のとおりだ。

 

2÷((1÷20)+(1÷100))=33.33km/h
(※頭の「2」はデータの個数を示す)

 

 「なんじゃこりゃ」と思われがちだが,そもそも平均時速というのは何kmか走って求められるデータであり,そもそもこの問題文では,「走行距離」という,必要なデータが欠落している。
 そこで,2区間が同じ距離だったと仮定してみる。例えば「この人は,最初の100km区間を5時間で走行し(=20km/h),次の100km区間を1時間で走行した(100km/h)」と考えて平均を求めるわけだ。この場合,走行距離は200km(=100km+100km),走行時間は6時間(=5時間+1時間)なので,平均時速は200km÷6時間=33.33km/hになる。そう,調和平均で求めた値は理に適っているのである。

 このように,「採取したデータ群がすでに何かの平均値で,さらにその平均値を求める」といった場合に,調和平均は用いられることが多い。Futuremarkも,4つのGraphics Testにおける平均フレームレートたるGT1〜GT4を基にスコアを算出する都合上,調和平均を用いたのだろう。

 話を計算式に戻そう。計算式には「Cgraphics」という項目があるが,3DMark 11ではここに「230」という定数が与えられている。これは最終スコアが4〜5桁の“それっぽい”値になるよう調整するためのものなので,深い意味はない。

 残るPhysics TestとCombined Testでは,それぞれ単一の平均フレームレートがそれぞれ「PT」「CT」というスコアで得られるため,調和平均で平均値を求める必要もなく,そのまま使われる。いずれのスコアにも“それっぽいスコアにするための調整値”である定数項が「Cphysics=315」「Ccombined=215」として用意されているので,それらを掛け合わせ,それぞれ「Sphysics」「Scombined」を求めるという流れだ。

 Sgraphics,Sphysics,Scombinedという3つの中間スコアが揃ったところで,最終的な3DMark総合スコア「S3DMark」は以下の式で求められることになる。

 

image

 

 これは,調和平均を求めつつ,それぞれのテスト結果に対して重み付けを行ったものに相当している。いわゆる加重調和平均を求めているのだ。
 初出となる「Wgraphics」「Wphysics」「Wcombined」はいずれもテスト項目ごとに変わる重み値だ。
 表2に示したとおり,重み値はEntry,Performance,Extremeのプリセットによって異なる。

 

表2

 

 Graphicsスコアに大きな重みを与え,スコアを大きく左右するようにという一貫した配慮が見て取れるが,プリセット間を比較すると,Graphicsスコアの重み付けはEntryが最も低く,Extremeが最も高い。
 一方,Combinedスコアは全プリセット設定において同じ重み付けになっている。

 Graphics TestではGPUが酷使され,Phyics TestはCPUの利用効率が高くなり,Combined TestはCPUとGPUの双方が利用されるわけだが,もう一歩踏み込んで見てみると,GPUをアップグレードしたときには,Wgraphicsの値が最も大きい分,Extremeプリセット時のスコアが伸びやすくなり,CPUをアップグレードしたときにはWphysicsの値が最大となるEntryプリセットのスコアが伸びやすいという傾向も見えてくる。
 まあ,そうはいっても,どのプリセット設定においてもWphysicsよりWgraphicsのほうが値は大きいので,GPUアップグレードのほうが明らかにスコアアップへの近道ではあるのだが。


 ……といったところで今回はここまで。
 シリーズ最終回となる後編は,3DMark 11に用意された設定オプションに関する解説をしていくこととしよう。

 

  • 関連タイトル:

    3DMark 11

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月17日〜12月18日