連載
ほぼすべてが新しい「4Gamerベンチマークレギュレーション20.0」。専用システムを導入し,グラフィックスカードの消費電力測定が可能に
4Gamerの場合,読者として日本のゲーマーを対象としているため,テストに用いるプログラムも評価基準も基本的にはゲームを想定している。ただ,ご存じのとおりゲームには流行があり,時間の経過とともに「プレイされるタイトル」は移り変わるため,「何を使ってテストを行うか」は,定期的に見直していく必要がある。
結果として,過去約11年にわたって,「どのゲームを使って,どのようにテストするか」を定めたレギュレーション(regulation,規定)を,大枠で19回刷新し,そのたびに読者の便宜のため公開してきたわけである。
ただ,そのなかで,ゲームやハードウェアの進化にレギュレーションが対応しきれなくなるという現実も出てきた。そこで,レギュレーション20世代においては,テスト方法の根幹を見直し,再設計することにした次第だ。
過去のレギュレーションは下に示したリンクボタンの先で今後も閲覧できるようにしておくが,評価法は少なからず変わることになるので,くれぐれも注意してほしい。
バージョン19世代以前のレギュレーショントップページ
■もくじ
GPU性能検証
レギュレーション19世代以前で4Gamerは,まず2種類の描画設定プリセットやそれに準ずるグラフィックス設定(以下,便宜的に「描画設定プリセット」とする)を選択したうえで,その2条件に対して2パターンの解像度設定でテストを行うスタイルを取ってきた。これはベンチマークレギュレーション1.0の頃に「アンチエイリアシングとテクスチャフィルタリングの有効/無効」で描画負荷設定の2条件を既定していた頃の名残だったりもするのだが,レギュレーション20世代以降ではこれを変更したい。ゲームアプリケーションのテストにあたっては,
- 1つの描画設定プリセットを選択し,それに対して3パターンの解像度設定を選択
して,テストを行うことにする。描画設定プリセットをどうするかという話は,アプリケーションごとに行う。
では,レギュレーション20世代ではどのアプリケーションでテストを行うかだが,それは以下にまとめたとおりだ。タイトル名のリンクをクリックすると各論へ飛べるようにしてあるので,参考にしてほしい。
■ベンチマークレギュレーション20.0採用アプリケーション
- 3DMark
- Superposition Benchmark
- Prey
- Overwatch
- PLAYERUNKNOWN'S BATTLEGROUNDS
- Tom Clancy’s Ghost Recon Wildlands
- ファイナルファンタジーXIV: 紅蓮のリベレーター
- Forza Horizon 3
■ベンチマークレギュレーション20.0関連コラム
テストにあたっては,平均フレームレートだけでなく,最小フレームレートも取得することにした。これまでも4Gamerでは,事前検証で「この程度の最小フレームレートがあればゲームをプレイできる」というおおよその基準を設定し,それを実現できる平均フレームレートを示してきたが,であるなら最小フレームレートも掲載していたほうが,読者には便利だろうというのがその理由である。
特別な事情がない限り,テストに用いるOSは64bit版Windows 10となる。
OSに絡んで1つ述べておく必要があるのは,レギュレーション19世代まで基本的に無効化していた,CPUの省電力機能や自動クロックアップ機能は,レギュレーション20以降,基本的に有効化するということだ。これは,後述するとおり,CPUとGPU(=グラフィックスカード)の消費電力を個別に取得できるようになったので,「であればゲーマーの日常的な環境のほうがテストに適しているだろう」という判断による。
一方で,Windowsの電源プランは,少なくともデスクトップ環境では,CPUが最高性能を発揮できる「高パフォーマンス」を手動で選択する。ノートPCの場合はこの限りではないため,その場合はどの電源プランを選択したかを本文で明記していくことにする。
■3DMark
2013年2月以降,製品名の後ろにあった付帯表記がなくなり,シンプルな製品名となった3DMark。フィンランド時間2016年7月14日公開のVersion 2.1.2852からは,DirectX 12対応のテストである「Time Spy」が追加となり,DirectX 11世代の単体グラフィックスカードが対象の「Fire Strike」,DirectX 11世代のグラフィックス機能統合型CPUおよびAPUがターゲットとなる「Sky Diver」,そしてDirectX 9/OpenGL ES 2.0ベースで,WindowsとAndroid,iOS間の横断的な比較を行えるテストである「Ice Storm Unlimited」というベンチマーク構成になっている。
Time Spy |
Fire Strike |
Sky Diver |
Ice Storm Unlimited |
このうち,主に利用することになるのは,Fire StrikeとTime Spyの2つだ。Fire Strikeには,1920
一方,Time Spyは解像度2560
テスト方法は以下のとおりで,「2回実行し,高いほうを採用する」ことになる。
●実行手順
- 3DMarkを起動
- 「MORE TESTS」を選択
- 「Fire Strike」「Fire Strike Extreme」「Fire Strike Ultra」もしくは「Time Spy」を選択
- 「Include demo」のスライドをチェックし「No」にする
- 「RUN」をクリックしてベンチマークを実行
- スコアデータの取得後,(5)を再度実行
- 「BENCHMARKS」タブを選択し,「Time Spy」の「DETAILS」をクリック
- 「Include demo」のスライドをチェックし「No」にする
- [RUN]ボタンをクリックしてベンチマークを実行
- スコアデータの取得後,(9)を再度実行
■Superposition Benchmark
Superpositionが持つ最大の特徴は,Unigine独自のゲームエンジンである「UNIGINE 2」を採用していること。3DMarkが純然たるベンチマークテストアプリケーションなのと対照的で,実際,Superpositionにはゲームモードがあり,画面内のオブジェクトを動かすことが可能だ。
また,「8K」「VR」をターゲットに,次世代GPUを対象としたストレステスト的な位置づけにもなっており,描画負荷はかなり高い。
VR READY?テスト |
STRESSテスト |
さて,そのPERFORMANCEモードだが,レギュレーション20世代では,「8K Optimized」「4K Optimized」「1080p Extreme」「1080p High」「1080p Medium」「720p Low」と用意された6つの選択肢から,
- 1080p Extreme
- 1080p High
- 1080p Medium
なおSuperpositionでは,「Graphics API」で「DirectX」と「OpenGL」を選択できるが,基本的にはDirectXを選び,DirectX 11ベースでテストを実施することにしている。
事前にテストを行った限りでは,スコアに大きなバラつきは見られなかったので,テストは1回のみ行い,その結果をスコアとして採用したい。それを踏まえた,テスト方法は以下のとおりである。
●実行手順
- Superpositionを起動
- 「BENCHMARK」を選択
- 「PERFORMANCE」を選択
- 「Preset」から「1080p Extreme」「1080p High」「1080p Medium」のいずれかを選択
- [RUN]ボタンをクリックしてベンチマークを実行
- スコアデータを取得
- ベンチマークモードを変更しつつ,4.〜6.を繰り返し実行(※最終的に1080p Extreme,1080p High,1080p Mediumで合計3回実行することになる)
■Prey
ゲームエンジンには,PCだけでなくPlayStation 4やXbox Oneとのマルチプラットフォーム展開に対応した第4世代の「CryENGINE」を採用。マルチGPUソリューションであるNVIDIAのSLIとAMDのCrossFireはどちらも標準で対応済みだ。
そんなPreyをベンチマークレギュレーションで採用するにあたって,今回は以下のとおりのグラフィックス設定を選択することとした。
●ゲーム設定
- バージョン:最新版(Steamによる自動アップデート)
- セーブデータ:4Gamerオリジナル
- セーブデータ保存先:C\ユーザー
\【ユーザー名】 \保存したゲーム \Arkane Studios \Prey \SaveGames \Campaign0 (※Windows 10のデフォルト設定時)
・ゲーム設定:オプション−ビデオ−基本設定
- モニター:1
- 解像度:テストによる
- 表示モード:フルスクリーン
- V-SYNC:オフ
- 明るさ:任意
- プリセット:最高/中
・ゲーム設定:オプション−ビデオ−高度な設定
- オブジェクトディテール:プリセットによる
- シャドウ品質:プリセットによる
- テクスチャ品質:プリセットによる
- 異方性フィルタリング:プリセットによる
- アンチエイリアス:プリセットによる
- SSDO:プリセットによる
- SSR:プリセットによる
- 水平視野角:86
・ゲーム設定:オプション−オーディオ
- BGM音量:任意
- ボイス音量:任意
- エフェクト音量:任意
- オーディオ言語:任意
Preyにおいて,グラフィックス設定は「オプション」の「ビデオ」以下,「高度な設定」にまとまっている。設定項目はさほど多くはないが,それらはまとめて,「基本設定」にある「プリセット」の変更によって切り換えることが可能だ。
そのプリセットは「最高」「高」「中」「低」の4つ。レギュレーション20世代では基本的に描画負荷が最も大きい最高プリセットを利用する。ただし,テスト対象の3D描画性能がそれほど高くないことが想定される場合には,描画負荷が低めの中プリセットも用いることとした。
プレイヤーが操作せねばならず,また,敵の挙動も毎回異なるため,完全に同一な条件でのテストとは言えない。しかし,事前検証では,毎回同じルートを通る限り,フレームレートの極端なブレがないことを確認できたので,2回の平均値をスコアとして採用したいと思う。
以上を踏まえた実行手順は以下のとおりとなる。
●実行手順
- Frapsからベンチマーク計測時間を60秒に設定
- Preyを起動する
- 「オプション」からグラフィックスや解像度など,オプション設定を行う
- 「ロード」から「6 ライフサポート」を選択
- シーンが始まり,操作可能になったらFrapsによる計測スタート
- 操作しながら60秒経過させる
- 計測が終了したら[Esc]キーを押してプレイを中断する
- 4.〜7.を再度実行
- 「オプション」から解像度を変え,4.以降を繰り返す
ちなみにCPUは,ここ数世代のクアッドコアモデルであれば,性能面で特段のデメリットは感じない。2コアモデルでも平均フレームレートに目立った違いは出ないが,最小フレームレートは落ち込む傾向にある。
■Overwatch
Overwatchが採用するゲームエンジンはBlizzardが独自に開発したもので,WindowsとPlayStation 4両対応。グラフィックスAPIとしてはDirectX 11に対応している。また,FPSプレイヤーが選ぶゲーマー向けディスプレイ市場で主流となりつつある,垂直リフレッシュレート120Hzあるいは144Hz以上に対応した製品との相性がよいのも大きな特徴となっている。
高いリフレッシュレートだとVsync有効時にも入力遅延が下がるというのはよく知られているが,Overwatchの場合はむしろそれ以上に「相手の動きが見やすくなる」というのがポイント。身体の向きや肩の挙動などから次の動きを予測しやすくなるため,Overwatchは,より高速なディスプレイと組み合わせたほうがいいのだ。
基本的には描画負荷の低いタイトルだけに,高いフレームレートを狙いやすいが,そんなOverwatchにおけるゲーム側のグラフィックス設定は以下のとおりとなる。項目数は多いものの,テストにあたって行っているのは,画面やフレームレートの設定を除くと,「オプション」の「グラフィック品質」から,あらかじめ用意されたプリセットを選択するだけである。
●ゲーム設定
- バージョン:最新版(Blizzard Appによる自動アップデート)
- セーブデータ:不要
・ゲーム設定:オプション−ビデオ
- ディスプレイ・モード:全画面
- 対象画面:モニター1
- 解像度:テストによる
- 視野角:103
- アスペクト比:16:9
- 垂直同期:OFF
- トリプル・バッファリング:OFF
- バッファリング軽減:OFF
- パフォーマンス統計を表示:OFF
- システムクロックを表示:OFF
- フレームレート上限を設定:カスタム
- フレームレート上限:300
- グラフィック品質:ウルトラ/NORMAL
- ガンマ補正:任意
- コントラスト:任意
- 明るさ:任意
・ゲーム設定:オプション−ビデオ−高度パフォーマンススタッツ
- フレームレートを表示:任意
- GPU温度を表示:任意
- VRAM使用量を表示:任意
- ネットワークPINGを表示:任意
- ラウンドトリップタイムを表示:OFF
- ネットワークディレイを表示:OFF
・ゲーム設定:オプション−ビデオ−詳細設定
- レンダー・スケール:プリセットによる
- テクスチャ品質:プリセットによる
- テクスチャ・フィルタリング品質:プリセットによる
- ローカル・フォグ表現:プリセットによる
- ダイナミック・リフレクション:プリセットによる
- シャドウ表現:プリセットによる
- モデル表現:プリセットによる
- エフェクト表現:プリセットによる
- ライティング品質:プリセットによる
- アンチエイリアス品質:プリセットによる
- リフラクション品質:プリセットによる
- スクリーンショットの品質:プリセットによる
- ローカル:リフレクション:プリセットによる
- アンビエント・オクルージョン:プリセットによる
・ゲーム設定:オプション−色覚サポートオプション
- 色覚サポートモード:OFF
- 色覚サポートのタイプ:任意
・ゲーム設定:オプション−サウンド
- マスター音量:任意
・SE音量:任意
・BGM音量:任意
・インゲーム・ボイス音量:任意 - ボイスチャット音量:任意
- ボイスチャットのマイク音量:任意
- バックグラウンド・サウンド:ON
- グループ・ボイスチャット:自動参加
- チーム・ボイスチャット:自動参加
- ボイスチャット・モード:プッシュ・トゥ・トーク
- ボイスチャット機器:デフォルトの機器
- ヘッドフォン用DOLBY ATMOS:OFF
Overwatchでは,「エピック」「ウルトラ」「高」「NORMAL」「低」と5つのプリセットが用意されているが,レギュレーション20世代では基本的にウルトラプリセットを利用する。最も描画負荷が大きいエピックを用いないのは,プレイヤーの大半がグラフィックスの品質よりも高いフレームレートを望んでおり,その観点から,グラフィックス品質とフレームレートのバランスでは,ウルトラが最も実用的と判断したためだ。
なお,エントリークラスのグラフィックスカードやCPUに内蔵されたグラフィックス機能をテストする場合には,ウルトラよりも描画負荷が2段階低くなるNORMALを使用する。
グラフィックス設定で注意しなければいけないのは,「フレームレート上限を設定」を「カスタム」に変更し,「フレームレート上限」を最大値の「300」に指定する必要がある点だ。初期状態では「フレームレート上限を設定」が「ディスプレイ依存」に設定され,Vsyncが有効になるため,テストにあたっては,スライドバーを最大まで動かして,Vsyncを明示的に無効化する必要がある。
「実際に操作する」という不確定要素があるため,テストの1条件あたり2回連続してプレイを行い,その平均をスコアをとして採用することになる。詳細な実行手順は以下のとおりである。
●実行手順
- Frapsからベンチマーク計測時間を60秒に設定
- Overwatchを起動する
- 「オプション」の「ビデオ」からグラフィックスや解像度などのゲームのオプション設定を行う
- 「トレーニング」から「練習場」を選択
- ヒーローに「D.Va」を選ぶ
- シーンが始まり,操作可能になったらFrapsによる計測スタート
- BOTを倒しながら一定の経路を移動し,60秒経過させる
- [Esc]キーを押してプレイを中断
- 3.以降を,設定変更しながら繰り返す
ただ,せっかくの高リフレッシュレート対応ゲーム。ハイスペックなGPUを搭載する環境では,最小で120〜144fps程度をを期待できる平均165fps以上を目指したいところだ。
なお,CPU性能は,2コア4スレッドタイプのCPUであれば十分。2コア2スレッドタイプのCPUの場合は,ざっくり1割程度パフォーマンスが低下することを覚悟しておきたい。
■PLAYERUNKNOWN'S BATTLEGROUNDS
デュアルGPUソリューションは,NVIDIAが「GeForce 382.53 Driver」でSLIに対応した一方,2017年7月時点でAMDは未サポートとなっているので,この点は注意が必要だろう。
テストにあたってのグラフィックス設定は以下のとおり。PUBGにおけるグラフィックス設定オプションへは,メイン画面右上に見える歯車アイコンをクリックすることでアクセスできる。
ここで注意する必要があるのは,「PUBGにはVsyncに関する設定項目がない」こと。なのでテストにあたっては,「NVIDIAコントロールパネル」や「Radeon Settings」などから,Vsyncを明示的に無効化しておく必要がある。NVIDIAコントロールパネルなら「3D設定の管理」の「垂直同期」,Radeon Settingsなら「プロファイルグラフィック」の「垂直リフレッシュを待機」から,それぞれ無効化可能だ。
●ゲーム設定
- バージョン:最新版(Steamによる自動アップデート)
- セーブデータ:不要
・ゲーム設定:グラフィック−言語
- 言語設定:日本語
・ゲーム設定:グラフィック−画面
- 画面モード:フルスクリーン
- 解像度:テストによる
・ゲーム設定:グラフィック−色
- 輝度:任意
・ゲーム設定:グラフィック−クオリティー
- クオリティー:高/低
- 画面スケール:100
- アンチエイリアシング:プリセットによる
- ポストプロセス:プリセットによる
- 影:プリセットによる
- テクスチャ:プリセットによる
- 効果:プリセットによる
- 植生:プリセットによる
- 距離を表示:プリセットによる
- モーションブラー:プリセットによる
・ゲーム設定:サウンド
- サウンド
・マスター:任意(ボリュームも任意)
・効果音:任意(ボリュームも任意)
・UI:任意(ボリュームも任意)
・BGM:任意(ボリュームも任意) - 音声
・音声:任意
・音声チャネル:任意
「クオリティー」以下にある5つのグラフィックス設定プリセット「ウルトラ」「高」「中間」「低」「非常に低」から選ぶだけである。
事前に検証した限り,PUBGの描画負荷は相応に大きい。またユーザーのほとんどが描画品質よりもフレームレートの高さを重視する傾向にあることから,レギュレーション20世代では高プリセットをメインにテストを行っていく。もっとも,エントリークラスのグラフィックスカードや,統合型グラフィックス機能をテストする場合には,必要に応じて低プリセットも利用し,その場合は記事内で断ることになるだろう。
高プリセット選択時の自動設定内容 | |
低プリセット選択時の自動設定内容 |
実際に操作を行う都合上,グラフィックス設定条件あたり2回テストを行って,その平均をスコアとして採用する。テストにあたっては,テスト開始ポイントへ毎回移動する必要がある点は注意してほしい。
以上を踏まえた実行手順は以下のとおりだ。
●実行手順
- Frapsからベンチマーク計測時間を60秒に設定
- PUBGを起動する
- グラフィックスや解像度などゲームのオプション設定を行う
- [PLAY]をクリックし,ゲームを始める
- マッチングが終了してゲームが始まったら,ソスノフカ島に最も近い場所で輸送機から飛び降りる
- ソスノフカ島南部の,テスト開始ポイントまで移動
- Frapsによる計測をスタート
- 60秒間,プレイヤーキャラクターを真っすぐ東に移動させる
- 6.〜8.を再度実行
- [Esc]キーを押して「設定」を選び,解像度を変更しながら,6.〜9.を繰り返す
一方,ハイクラスのグラフィックスカードなら最小120fps以上……と言いたいところだが,前述したようにPUBGは描画負荷がかなり高いため,あまり現実的ではない。そのため現時点では,比較的高いフレームレートが稼げる目安として,最小フレームレート80fps以上,平均フレームレートでは100fps以上を合格ラインとしておきたい。
ちなみにCPUは,今日(こんにち)的な動作クロックのクアッドコアモデルであれば,その性能が全体の足を引っ張ることはないと考えていい。デュアルコアCPUの場合,2コア4スレッド対応モデルならスコアの低下は見られない一方,2コア2スレッド対応モデルだとベンチマークスコアは最大で約1割弱低下する。
■Tom Clancy’s Ghost Recon Wildlands
ゲームエンジンは,UbisoftグループのUbisoft Montrealが開発した「AnvilNext 2.0」。DirectX 11への対応と,PC以外にPlayStation 4などへ向けたマルチプラットフォーム対応を果たしたエンジンだ。前世代の「AnvilNext」エンジンで初採用となったグローバルイルミネーションやリフレクションマッピングといった主だった機能を継承しつつ,今日(こんにち)的な仕様を獲得したものという理解でいいだろう。
そんなWildlandsのテストにおけるグラフィックス設定は以下のとおり。項目数は多いものの,「設定−グラフィック」の「プリセット」から一括で変更が可能で,レギュレーション20世代でもこのプリセットを用いることになる。
●ゲーム設定
- バージョン:最新版(Uplayによる自動アップデート)
- セーブデータ:不要
・設定:映像
- ディスプレイ:任意
- 表示モード:フルスクリーン
- 解像度:テストによる
- レンダリング解像度:1.00
- V-SYNC:オフ
- リフレッシュレート:60Hz
- フレームレート制限:オフ
- 視野範囲の拡大:0%
- 明るさ:任意
- コントラスト:任意
- ガンマ:任意
- 鮮明化:30%
・設定:グラフィック
- プリセット:ウルトラ/中
- アンチエイリアス:プリセットによる
- アンビエントオクルージョン:プリセットによる
- 描画距離:プリセットによる
- 精細度:プリセットによる
- テクスチャの品質:プリセットによる
- 異方性フィルタリング:プリセットによる
- 影の品質:プリセットによる
- 地形の品質:プリセットによる
- 草木の品質:プリセットによる
- ターフエフェクト:プリセットによる
- モーションブラー:プリセットによる
- 被写界深度(サイト):プリセットによる
- 高品質被写界深度:プリセットによる
- ブルーム:プリセットによる
- ゴッドレイ:プリセットによる
- サブサーフェイス・スキャタリング:プリセットによる
- レンズフレア:プリセットによる
- ロングレンジシャドウ:プリセットによる
・設定:オーディオ
- 主音量:任意
- BGM音量:任意
- 効果音音量:任意
- 音声音量:任意
- バックグラウンドサウンド:任意
- 出力タイプ:任意
- マイク音量:任意
- チーム音量:任意
- オープンマイク感度モード:任意
- オープンマイク:任意
- ボイスチャットモード:任意
- ラジオ:任意
選択できるプリセットは「ウルトラ」「非常に高い」「高」「中」「低」の5つだが,レギュレーション20世代では,描画設定が高い「ウルトラ」をメインで利用する。ただし,エントリークラスのGPU以下を対象とする場合には,それより3段低い「中」を使うこともあるので,この点は注意してほしい。
ベンチマークモードのデモシークエンスは,フライバイ(flyby)で村の中から崖上の建物へと向かい,それを見下ろすまでのシーンを描くものだ。テスト中は画面の右下で,そのときどきのフレームレートやCPUとGPUの使用率,それにシステムメモリとグラフィックスメモリの使用量,GPUの温度を表示し,最後に最小,平均,最大それぞれのフレームレートを示すというものになっている。事前検証した限り,フレームレートのばらつきはそれほど大きくないが,それでも誤差程度には生じるため,ベンチマークレギュレーションでは,平均フレームレートの2回の平均をスコアとして採用することとした次第だ。
というわけで,実行手順は以下のとおりとなる。
●実行手順
- Wildlandsを起動
- 「設定」の「映像」にある「V-SYNC」を「オフ」に設定
- 「解像度」を設定
- キーボードの[F]キーを押して変更を適用する
- 「設定」の「グラフィック」にある「プリセット」を設定
- [F]キーを押して変更を適用する
- [B]キーを押してベンチマークを実行
- ベンチマーク終了後に表示される「平均FPS」と「最低FPS」を記録する
- 7.〜8.を再実行。2回実行し,その平均をスコアとして採用する
- 3.以降を解像度などを変更しながら繰り返す
なお,Wildlandsは2コア4スレッド対応のCPUで十分な性能を発揮でき,それ以上は物理コア数や対応スレッド数を上げてもベンチマークスコアはほとんど向上しない。一方,2コア2スレッド対応のCPUだと,性能はざっくり3割程度落ちることを確認できた。
■ファイナルファンタジーXIV: 紅蓮のリベレーター
ちなみにFFXIV紅蓮のリベレーター ベンチでは,水面の反射がキャラクターなどに映り込むエフェクトである「照り返しの表現」が設定項目として加わった。また,対応OSは64bit版Windows 10・8.1・7のみ,グラフィックスAPIもDirectX 11のみといった具合に,従来から変更が入っている。
そんなFFXIV紅蓮のリベレーター ベンチを使ってテストをするにあたってのグラフィックス設定は以下のとおりとなる。
●ゲーム設定
・グラフィック設定:グラフィック設定1- グラフィック設定プリセット:最高品質/標準品質(デスクトップPC)/標準品質(ノートPC)
- 描画設定−水濡れ表現を有効にする:プリセットによる
- 描画設定−オクルージョンカリングを有効にする(見えないものの描画を簡略化する):プリセットによる
- 描画設定−LODを有効にする:プリセットによる
・グラフィック設定2
- 描画設定−リアルタイムリフレクション:プリセットによる
- 描画設定−アンチエイリアス:プリセットによる
- 描画設定−ライティングの品質:プリセットによる
- 描画設定−細かい草の表示量:プリセットによる
・グラフィック設定3
- 描画設定−背景の細かい凹凸表現:プリセットによる
- 描画設定−水面の凹凸表現:プリセットによる
- 描画設定−照り返しの表現:プリセットによる
- 影の表示設定−自分:プリセットによる
- 影の表示設定−他人:プリセットによる
- 影の表現−キャラクターの影のLODを有効にする:プリセットによる
- 影の表現−影の解像度:プリセットによる
- 影の表現−影の表示距離:プリセットによる
- 影の表現−ソフトシャドウ:プリセットによる
・グラフィック設定4
- テクスチャ品質−テクスチャフィルタ:プリセットによる
- テクスチャ品質−テクスチャ異方性フィルタ:プリセットによる
- 揺れの表現−自分:プリセットによる
- 揺れの表現−他人:プリセットによる
・グラフィック設定4
- 画面効果−周辺減光を有効にする(画面の隅を自然に暗くする効果):プリセットによる
- 画面効果−放射ブラーを有効にする(爆発などで周囲に向かって画面をぼかす効果):プリセットによる
- 画面効果−SSAO(立体感を強調する効果):プリセットによる
- 画面効果−グレア(光があふれる表現):プリセットによる
- カットシーン効果−被写界深度表現を有効にする:プリセットによる
・ディスプレイ設定
- 画面設定−メインディスプレイ選択:テストによる
- 画面設定−スクリーンモード設定:フルスクリーンモード
- 解像度設定−画面解像度プリセット:テストによる
- ガンマ補正:任意
・サウンド設定
- サウンド全般設定−アプリケーションが非アクティブでもサウンドを再生する:任意
- 音量調整−マスターボリューム:任意
- 音量調整−BGM:任意
- 音量調整−効果音:任意
- 音量調整−ボイス:任意
- 音量調整−システム音:任意
- 音量調整−環境音:任意
従来同様,FFXIV紅蓮のリベレーター ベンチも,「グラフィック設定プリセット」でプリセットを選択すれば,各設定項目はそれに合わせて変更される。プリセット以外は,「ディスプレイ設定」以下を確認する程度という理解でいい。
選択するプリセットは基本的に,最も高い画質を期待できる「最高品質」だ。だが,CPU統合型のグラフィックス機能やノートPCのテストでは,デスクトップPCとノートPCで仔細が若干異なる「標準品質」を選択する場合もあるだろう。その場合はどのプリセットを選択したか本文で明記することになる。
残念ながら最小フレームレートは確認できないため,それだけはFrapsから取得する格好だ。
それらを踏まえたテスト方法は以下のとおりとなる。
●実行手順
- ベンチマークソフトを起動する
- 「設定変更」を選択し,設定変更画面へと移行する
- 「グラフィック設定1」タブのグラフィック設定プリセットを適宜選択する
- 「ディスプレイ設定」タブの「画面解像度プリセット」から解像度を選択
- [OK]ボタンをクリックし,メニューへと戻る
- [スタート]ボタンをクリックし,ベンチマークテストを実行
- ベンチマークの実行と同時にFrapsによる計測をスタート
- リザルト画面でFrapsによる計測を停止する
- テスト終了後に表示されるスコアを記録する
- 「レポート出力」をクリックし,平均フレームレートを記録する
- Frapsの出力ファイルから最小フレームレートを記録する
- 2.以降を,グラフィック設定プリセットと解像度を変更しながら繰り返す
スコアの見方だが,スクウェア・エニックスは以下のような指標を示している。
- 7000以上:非常に快適
- 5000〜6999:とても快適
- 3500〜4999:快適
- 2500〜3499:やや快適
- 2000〜2499:普通
- 1500〜1999:設定変更を推奨
- 1000〜1499:設定変更が必要
- 999以下:動作困難
それを踏まえたひとまずの合格点は,スクウェア・エニックスの指標どおりのスコア7000とするが,ハイエンド環境では平均60fps以上を狙えるスコア8500以上を目標にしたいところである。
組み合わせるCPUのほうだと,4コア8スレッド対応モデルまでは,対応できるスレッド数に応じてスコアが伸びていく。逆に2コア2スレッドでは4コア8スレッドに対してスコアは3割ほど低下する。「8スレッドまでなら,スレッド数がスコアを左右する」点はFFXIV紅蓮のリベレーター ベンチの特徴と言っていいだろう。
■Forza Horizon 3
本作が採用するゲームエンジンは,Forzaシリーズ専用となる「ForzaTech」の最新バージョン。この最新版ForzaTechでは,グラフィックスAPIとしてDirectX 12のみをサポートすることで,従来よりも表現力が向上したというのがウリとなっている。
そんなForza Horizon 3におけるグラフィックス設定は以下のとおりとなる。「設定−ビデオ−基本設定」以下にある「ダイナミックオプティマイゼーション」が「ON」のままだと,自動的にグラフィックス設定が変更されてしまうのでここを「OFF」に変更する必要があるのと,「フレームレートスムージング」を有効化するとGPUごとの違いが小さくなる傾向が見られるため,やはり「OFF」にする必要があるのと,可変フレームレートを有効化するため「フレームレート」を「アンロック済み(VARIABLE)」にする必要があるのは,レギュレーション19世代と変わらずだ。
●ゲーム設定
- バージョン:最新版(PC版Xbox Liveによる自動アップデート)
- セーブデータ:不要
・ゲーム設定:設定−ビデオ−基本設定
- フルスクリーン:ON
- フレームレート:アンロック済み(VARIABLE)
- V-Synch(垂直同期):OFF
- モーションブラー:ON
- 解像度:テストによる
- 字幕:ON
- FPS表示:OFF
- フレームレートスムージング:OFF
- UIスケール:100
- ダイナミックオプティマイゼーション:OFF
・ゲーム設定:設定−ビデオ−詳細設定
- プリセット:ウルトラ / ミディアム
- 異方性フィルタリング:プリセットによる
- シャドウクオリティ:プリセットによる
- モーションブラークオリティ:プリセットによる
- 環境テクスチャクオリティ:プリセットによる
- スタティックジオメトリークオリティ:プリセットによる
- ダイナミックジオメトリークオリティ:プリセットによる
- MSAA:プリセットによる
- FXAA:プリセットによる
- リフレクションクオリティ:プリセットによる
- フロントガラスリフレクションクオリティ:プリセットによる
- ミラークオリティ:プリセットによる
- ワールドカーの詳細度:プリセットによる
- デフォーマブルスノークオリティー:プリセットによる
・ゲーム設定:設定−オーディオ
- プリセット:初期設定
- 主音量:任意
- ラジオ音量:任意
- SFX音量:任意
- 音声音量:任意
- クルマ音量:任意
- タイヤ音量:任意
- GPS音声:ON
- ラジオDJ:ON
- クラクション:ON
- マイク:ON
さて,そんなForza Horizon 3では,ベンチマークモードが用意されていないため,実際のゲームシーンをテストに利用することになる。チョイスしたシーンは,「SURFERS PARADISEフェスティバルサイト」近く,海岸沿いを走る一直線の道路だ。この道路の両端には速度のランキングを行う「スピードゾーン」が2か所あり,片方のスピードゾーンに進入したところで計測を開始すると,もう片方のスピードゾーンに差し掛かったあたりでちょうど1分となるから,ここを使おうというわけである。
ほぼ一直線なので,基本的にアクセル操作だけで済むが,とはいえ他車の動きは毎回異なる。そこで今回は,事前に,スピードゾーンの行き帰りでフレームレートに大きな違いが生じないのを確認のうえ,往復それぞれでOCATからフレームレートを計測し,両者の平均値をスコアとして採用することにした。
1つ注意が必要なのは,天候が変化し,雨が降るとフレームレートに大きな変化が生じるということだ。そのため,雨が降っている場合はしばらく時間を置き,晴れもしくは曇りになるのを待つ必要がある。
以上を踏まえた実行手順は以下のとおりだ。
●実行手順
- OCATからベンチマーク計測時間を60秒に設定
- Forza Horizon 3を起動する
- オプションからグラフィックスや解像度などのゲームのオプション設定を行う
- SURFERS PARADISEフェスティバルサイト近くのスピードゾーンに移動する
- 南に車を向け走りだすのと同時にOCATによる計測をスタート
- 操作しながら60秒経過させる
- 車を反転し,走り出すのと同時にOCATによる計測をスタート
- 操作しながら60秒経過させる
- [Esc]キーを押してプレイを中断
- 3.以降を,設定変更しながら繰り返す
フレームレートは,快適にプレイする前提に立つと,最小フレームレートは20fps以上ほしいところで,平均フレームレートでは40fpsが合格ラインということになる。
最小フレームレートで40fpsくらいを確保できると,カク付き感は減るため,この「最小40fps」を実現できる平均60fpsが,ハイクラス以上のGPUにおける合格ラインということになるだろう。
なお,2017年7月末の時点で,Forza Horizon 3はSLIおよびCrossFireをサポートしていない。
ちなみに,CPUは物理コア数が4以上であれば,スコアに大きな違いは出ない。2コア4スレッドのCPUだと若干スコアは落ち気味になるものの,それほど致命的な違いにはならない印象である。
■コラム:OCATおよびFrapsの使い方
4Gamerでは長らく,ベンチマークモードを持たないゲームタイトルのテストにあたって,「Fraps」によるフレームレート計測を行ってきた。だが,DirectX 12(Direct3D 12)やVulkanといった,新世代のグラフィックスAPIを採用するタイトルに対しては,Frapsを利用することができない。
そこで4Gamerでは,Frapsに代わり,オープンソースのGPU対応アプリケーション開発支援フレームワークとしてAMDが提唱する「GPUOpen」から登場した「OCAT」(Open Capture Analystics Tool)を用いる。こちらはDirectX 12やVulkanのベンチマークに特化したツールだからだ。
OCATのメインウインドウ
OCATの入手法およびインストール方法は2016年12月12日の記事を参照してほしいと思うが,フレームレート計測前にOCATを起動して,「Recording Time Period in Seconds」に計測時間を秒単位で入力する。デフォルトは60なので,1分間の測定であれば変更する必要はない。
また,デフォルトのままで大丈夫だが,「Write performance summary」にチェックが入っていないと,平均フレームレートがログファイルに記録されないので,チェックが入っているかどうかは確かめておいたほうがいいだろう。
フレームレート計測を実行するには,まずOCAT上で右下の[Start]をクリック。その状態で計測対象のゲームを起動する。すると,ゲーム画面の右上にフレームレートとフレーム時間がリアルタイムで表示されるようになる。中には表示されないゲームもあるのだが,その場合でもOCATは動作しているので計測には問題はない。
あとは適切なタイミングで[F11]キーを押せば,フレームレートの計測が始まるという流れだ。
なお,この計測開始のホットキーはOCATメニューの「Recording Hotkey」から変更できる。
さて,設定した時間が経過すると計測が終了し,画面右上に計測結果――「平均フレームレート」「平均フレームタイム」「フレームタイムの99%パーセンタイル値」の3つ――が表示される。ただ,フレームタイムのリアルタイム表示が行われないゲームでは計測結果も表示されないので,「C:\ユーザー\(ユーザー名)\ドキュメント\OCAT\Recordings」に書き出されるcsv形式の概要データファイルを参照する必要がある。
こちらはFrapsのメインウインドウ
テストを繰り返すと,概要データファイルに結果が次々と書き足されていくので,結果が上書きされるようなことはない。
一方,DirectX 11やDirectX 9といったゲームでは,これまでと同様にFrapsを用いてフレームレートの計測を行う。
Frapsは,DirectX/OpenGLで動作するアプリケーション向けのキャプチャソフトだ。フルバージョンは29.95ドルするシェアウェアで,4Gamerではボリュームライセンスを取得して利用しているが,開発元であるbeepaのWebサイトからダウンロードできる無料の体験版でも,フレームレートの計測は行える(※キャプチャ周りには制限が入る)。
インストールしたら,フレームレートの計測前にFrapsを起動。メインウィンドウが起動するので,「FPS」タブを選び,「Stop Benchmark automatically after」直後にある入力ボックスに,秒単位で数値を入力する。例えばレギュレーション6.0準拠でCall of Duty 4のベンチマークテストを行うなら,「60」と入力すればいい。
続いて「MinMaxAvg」にチェックを入れ,最少/最大/平均フレームレートがログに書き出されるようにしておく。
フレームレート計測を実行するには,まず,Frapsを最小化して,その状態で計測対象のゲームを起動する。すると,画面の隅に黄色の数値が表示されるはずだが,それがリアルタイムで計測されるフレームレートだ。あとはリプレイを再生し,適切なタイミングでフレームレート計測開始のホットキー(標準では[F11]だが,FPSタブの「Benchmarking Hotkey」で変更可能)を実行すればいい。
ベンチマーク計測中はリアルタイムのフレームレート表示が消え,設定した時間が経過すると計測が終了して,再びフレームレートが表示されるようになる。なお,ログファイルはFrapsをインストールしたフォルダ以下,「\benchmarks」の中に保存されるようになっており,上書きされることはない。
CPU性能検証
CPU性能検証は,レギュレーション21世代以降で確定させる予定だ。それまでの間,テスト方法は記事ごとに言及,解説することになる。
GPU&CPU消費電力検証
レギュレーション19世代までの4Gamerは,ログの取得可能なワットチェッカー「Watts up? PRO」を使ってシステム全体の消費電力を記録し,各アプリケーションベンチマーク実行時の最大値をスコアとして採用してきた。システム全体の消費電力は,テスト対象のGPUやCPUを搭載したPCそのものにおける消費電力の目安を知ることができるという意味で価値あるデータと言えるため,PC製品の消費電力計測には今後もWatts up? PROを使い続けたいと考えている。
ただ,言うまでもないことだが,Watts up? PROで計測した消費電力値は,グラフィックスカード単体,あるいはCPU単体の消費電力値ではない。記事でテスト対象となる「主役」がGPUやグラフィックスカード(以下,便宜的にGPUと表記),あるいはCPUである場合,Watts up? PROを用いても,それらの消費電力は間接的にしか窺うことができないのが難点だ。
そこで4Gamerでは,可能な限りGPUもしくはCPUそのものに近いスコアを取ろうと,いろいろ試行錯誤を重ねてきた。以下,その結果を具体的に紹介してみたい。
■GPU消費電力計測
4Gamer読者には説明するまでもないだろうが,ミドルクラス市場もしくはそれより上の市場をターゲットとするグラフィックスカードは,PCI Express(以下,PCIe)補助電源により電力を賄(まかな)っている。
ただし,PCIeカードスロット経由でもPCIe Gen.3のx16カードの場合,最大75.9Wの電力供給を受けられる仕様なので,そちらを無視するわけにはいかない。またそもそも,エントリークラス以下のグラフィックスカードだとPCIe補助電源コネクタを持たないことのほうが多かったりもする。
というわけなので,グラフィックスカードの消費電力を測るうえで厄介なのはPCIeカードスロット経由の電力供給ということになる。幸いにして,PCIeにおける電源ラインは「x16スロットにx1カードを差せる」という仕様を満たす必要から,PCIe x1部分に集中している。
PCIeピンアサインは「切り欠きのあるほうを上として,それを上空から見て左を『Side B』,右を『Side A』とする」という決まりがある。それに合わせて具体的なアサインを見たものが表だ。コネクタの裏表に+3.3Vライン合計4本と+12Vライン合計5本があるが,「3.3Vaux」はスリープ時待機電力用で,グラフィックスカードの稼動状態では使われない。したがって+3.3Vラインは実質3本ということになる。
どのように測定するにせよ,PCIeコネクタから+3.3Vの3本と+12Vの5本を引き出さなければどうにもならない。これが「グラフィックスカードの電力測定」における最大のハードルだ。
ではどうやって引き出すかだが,今回は最もお手軽に「PCIe延長ケーブルから引き出す」方法を使うことにした。
安価かつ標準的なPCIe延長ケーブルだと,Side BとSide Aそれぞれに線ピッチ1.27mmのUL規格を採用した「普通の」フラット型となっているため,ターゲットのラインを切って引き出す作業は割と容易だ。
安価な延長ケーブルはSide B,Side Aいずれもフラット型なので,目的のラインを引き出すのは容易そう |
実際に引き出した例がこれ。線を途中で切って引き出すだけの作業である |
写真のように引き出すことさえできれば,+3.3Vラインと+12Vラインそれぞれの電圧と電流を測定し,PCIeスロット側の消費電力も知ることができるだろう。
●電流を測る方法は?
線を引き出して電流を測る方法はどうするかだが,電流を測る方法としては,ざっくり以下のような選択肢がある。
- 電流計
磁石と可動コイルを使い,コイルに生じる磁界と磁石の相互作用で電流に比例して針が動くアナログ測定器のことを電流計という。最も原始的かつ基本的な測定器だが,記録を残しづらいのでグラフィックスカードのテストには使えない - クランプメーター
電流が流れる電線をクランプ(clamp,挟むこと)し,非接触で電流を測る測定器。電線をつなぐ必要がないという実に便利なものだ。交流の場合は電磁誘導を使い,直流では電線に生じる磁界の強さをセンサーを使って検出して電流を得る。電線をクランプできれば測れる利点を持つ一方,グラフィックスカードの場合はPCIeスロットからの電源供給もあるので,そこを解決できないという難点を抱える - 抵抗
中学校の授業で習うとおり,電流が流れている電線に抵抗を入れると,抵抗の両端に「電流×抵抗値」分の電圧が発生する。なので抵抗値が分かっていれば抵抗の両端電圧を計測することにより電流値を把握可能だ。ただし,抵抗を使って電圧を測る場合,電圧降下が生じるというトレードオフがある
いずれにせよ,1.と2.ではグラフィックスカードの消費電力測定に向かない以上,選択肢は1つしかないということになる。
さて,ようやくテスト手段は決まったが,この場合,できるだけ小さな値の抵抗を使って,測定に伴う電圧降下をできるだけ小さくするのがベターだ。抵抗値の誤差が小さいことも重要な要件となるが,この条件を満たす電流測定用抵抗としては「シャント抵抗」が市販されているので,それを使うことになる。
シャント抵抗は,たいていの場合,抵抗値がミリΩオーダー(※1000分の1Ω台あるいはそれ以下)なので,抵抗両端に発生する電圧は微小だ。そういった微小な電圧をそのまま測るのは難しいため,計測にはオペアンプ(OPAMP)や電流センスアンプといった増幅器を使う必要があるのだが,そのとき問題となり得るのが0Vの基準点,一般に言うGND(グランド)である。
抵抗を電源供給側に入れて電流測定を行うことを「ハイサイド電流測定」と言うが,抵抗の両端は被測定対象のGNDに対して電源電圧からシャント抵抗の降下電圧を引いた分だけ浮く(=高くなる)。そのため,何の工夫もしない場合,増幅器のGNDは被測定対象のGNDから浮く格好になり,ここが問題になり売るのだ。
たとえばオペアンプの出力をアナログ/デジタル変換し,PCでその数値を表示するというケースを考えてみよう。
PCが1台しかなく,被測定対象を「数値を表示するPC」に使うとすると,オペアンプ→アナログ/デジタル変換側のGNDは,PCのGNDより電源電圧分浮いているので,単純に接続するとショートする。
GNDの電位差を避けるには,非測定対象のGND側に抵抗を入れて電流を測る「ローサイド電流測定」という手がある。だが,PCIeは前述のとおり+3.3Vおよび+12Vという2系統の電圧源を持ち,2系統のGNDは共通だ。したがって,ローサイドの電流を測っても,消費電力を求めることができない。つまり,PCIeの場合はハイサイドで測るしかないのだ。
精密なシャント抵抗を用意してGNDを分離して……というのを真面目にやると結構面倒だが,便利なものが売られていた。ストロベリー・リナックスが扱っているINA226isoシリーズだ。
INA226isoシリーズは,シャント抵抗と電流測定用アンプ,アナログ/デジタル変換器,デジタルデータをホストに送るためのI2C(Inter-Integrated Circuit,略してI2C)インタフェースを統合したTexas Instruments製IC「INA226」と,I2C入出力を電気的に分離するI2Cアイソレータを載せたモジュールだ。I2Cを通じてデータを受ける側のGNDはアイソレータで分離されるため,ハイサイドでもローサイドでもGNDの電位差を気にすることなく使える。
INA226isoシリーズには4モデルあるのだが,PCIeスロット経由の+3.3Vは最大3A,+12Vは最大4.4Aに対応し,シャント抵抗0.2mΩで標準仕様の最大20Aタイプで十分に対応できるため,今回はそれをチョイスした次第である。
一方,PCIe補助電源のほうをどうするかだが,こちらは前述の通りクランプメーターで電流を測るという手もある。だが,INA226isoシリーズを使えば電圧の測定も同時に可能という利点があるので,PCIe補助電源のほうの計測でもINA226isoシリーズを使うことにした。
PCIe補助電源の電圧は+12Vなので,INA226iso標準モデルを使った場合,最大240Wまで対応可能になる。実際にはINA226iso標準モデルでも30A程度まで測れないことはないが,やはりマージンがないのは厳しい。
というわけで,PCIe補助電源のほうには100Aまで対応できる「INA226iso-100」を使う。これなら,将来登場するかもしれないモンスター級のグラフィックスカードでも対応できるだろう。
●データロガーにはRaspberry Piを使用
上で「INA226isoのインタフェースはI2C」とサラッと述べたが,I2CはLSI間でデータのやり取りを行う簡易シリアルインタフェースとして広く利用されている。PCでも,たとえばマザーボード上各所にあるセンサーのデータを収集するSystem Management Bus(SMBus)の物理インタフェースがI2Cだったりする。
INA226isoはSMBusプロトコルに準じているので,マザーボード上のSMBusを引き出すことができれば,そこにつないでデータを読み取ることも可能なはずだが,あまり現実的な方法とはいえない。
PCからI2Cを使うのなら,たとえば秋月電子通商が販売している「FT232HLハイスピードUSBシリアル変換モジュール」を使うのが手軽だろう。このモジュールを使えばUSB経由でI2Cを制御できるからだ。
もう1つ,データの記録にI2Cインタフェースを備えるワンボードコンピュータの類を使うというのも手で,今回はこの方法を使うことにした。利用したのはポピュラーな「Raspberry Pi」(model B+)だ。
Raspberry Piを使った理由は単純で,スクリプト言語Pythonを使って手早く実用化が行えるからだ。また,Linuxが動いているため,「INA226isoから受信したデータをPythonで書き出したファイル」をWindows環境と簡単に共有できる。Windows上のプログラムだとGUIがほぼ必須になるが,Raspberry Piを使って組み込み風に仕上げれば面倒なGUIも不要なのもグッドだ。
●計測装置を組み立てる
PCIe延長ケーブルを使うため,グラフィクスカードをどこかに固定する必要があるが,それにあたっては,Thermaltake製のオープンフレーム型PCケース「Core P3」を利用することにした。Core P3はPCIe延長ケーブルを介してグラフィクスカードをマザーボードと平行に取り付けるスタイルもサポートしているうえ,オープンフレーム型なのでテストには最適だ。
AliExpressで発注した,PCIe補助電源8ピン延長ケーブル。国内では意外に売られていないうえ,あってもかなり高価だ |
使うことにした3.3Vレギュレータ。70Wまで耐えるので,余裕がありすぎである |
また,PCIeリンクの+3.3Vと+12Vは,マザーボードのPCIeスロットからではなく,PCIe補助電源側の12Vから生成,供給することにした。当初はマザーボード上にあるPCIeリンクの電源ラインを切って,その途中にシャント抵抗を入れていたのだが,実験中に何らかの理由でマザーボード側が壊れてしまうという事故が起きたためめだ。
その原因ははっきりしないのだが,いずれにしてもPCIeリンクの電源ラインがショートすると危険なので,PCIe補助電源側からの供給に切り替えた次第である。そのために,3.3Vのレギュレータを使っている。
……と,言葉でつらつらと書いても分かりにくいと思うので,結線の概略を下に示しておきたい。ごちゃごちゃしているが,やっていることは単純明快だ。その下に示したのは,完成したシステム「4Gamer GPU Power Checker Version 1」(以下,4GPCバージョン1)の全体写真である。
4GPCバージョン1でグラフィックスカードの消費電力計測を行う一連の作業も以下に写真で示しておきたい。
Core P3にマザーボードと電源を設置したところ。電源は固定していない |
ショートを防ぐべくビニールテープで加工した「改造済みPCIe延長ケーブル」を接続 |
グラフィックスカードを「改造済みPCIe延長ケーブル」と接続する |
PCIe補助電源を電流計測ユニットとグラフィックスカードに接続する。これで計測の体制が整う |
●実測例と今後の課題
というわけで,4GPCバージョン1を使って実測した例を最後に掲載しておこう。グラフは,グラフィックスカードとして「GeForce GTX 1080 Founders Edition」を使い,3DMarkのFire Strike Ultraを1周回したときの消費電力推移だ。横軸は経過秒である。
面白いのは,PCIe補助電源の結果も重ねたピークでは何と300Wを超えていたことだ。「GeForce GTX 1080」のTDP(Thermal Design Power,熱設計消費電力)値は180Wだから,その乖離に驚くかもしれない。
ただ,TDPはあくまでも「冷却システムが処理すべきLSIの熱出力」だ。TDPはおおむね「GPUがフル稼働したときの平均消費電力」に等しいものの,ピークの消費電力ではないので,この点は注意してほしい。
なお,フル稼働時における電力推移のベースライン,すなわち変動の中央値を取るとおおよそ150〜200Wの中間あたりだった。なので,180Wという公称スペックがおおよそ妥当なものという見方は可能だろう。
以上,4GPCバージョン1を使うとなかなか興味深いデータが取れるのだが,実は大きな課題が残っていたりもする。消費電力を測ると,ベンチマークスコアが1割がた下がってしまうのだ。
原因はいまのところ追究しきれていないが,シャント抵抗に加えて配線経路でも電圧降下が生じ,ピーク時におけるグラフィックスカード側の電圧が+12Vを下回っているため,それが原因かもしれない。また,安価なPCIe延長ケーブルを使っている関係で,PCIeリンクにおいてエラー&リトライが多発している可能性もある。
ちなみに,高価でエラーが少なそうなPCIe延長ケーブルは高密度のフラットケーブルを使っているため,4GPCバージョン1で行ったような「途中で切って引き出す」という改造の難度がかなり高い。
この問題はいずれ解決させたいと思っているが,レギュレーション20世代においては,事前テストにおいて,最も消費電力が高めで推移したFFXIV紅蓮のリベレーター ベンチでのみ消費電力推移を計測し,レギュレーション19世代までで使っていた「ワットチェッカーによるシステム全体の消費電力計測」と併用することにした。4GPCバージョン1でも有意なデータは取れているので,今後のグラフィックスカード評価における指針の1つとして活用していく予定だ。
■CPU消費電力計測方法
CPUの消費電力そのものに近い値としては,電源ユニットから(マザーボードを経て)CPUへ供給されるEPS12Vの電流値を計測することにした。EPS12VはCPU専用の電源供給インタフェースである。
マザーボードによっては,EPS12Vが2系統あったりするが,もちろん,その場合はすべてのEPS12Vの+12Vラインをクランプして測定することになる。
PC20 |
KB-USB20 |
また,PC20は別売りオプションのUSB接続アダプター「KB-USB20」を取り付けてPCに接続することにより,PC側で測定値を確認したり,測定値のログを取ったりできるようになる。EPS12Vの電流測定にあたっては,時間変化を記録する必要があるため,今回はCL33DCにKB-USB20を組み合わせることとしている。
なお,PC20から送られてくる測定値を記録するPC用ソフトウェアには三和製の純正品もあるのだが,4Gamerではこの分野で実績を持つフリーソフトウェア「TsDMMViewer」を使うことにした。
TsDMMViewerは,PCに接続できるテスターのデータロガーとして古くから使われており,PC20以外にもさまざまなテスターに対応しているため,将来,仮に機材を変えても利用し続けられるであろうと判断した次第だ。
どのようなデータが取れるのか,「EPS12VをクランプしたCL33DCの出力」をPC20で測定し,TsDMMViewerから見た例を掲載しておこう。
下のグラフは,「CINEBENCH R15.038」を実行したときに測定できた電流値に12を掛けてワット換算したもので,ピーク時の電流量は6.83Aだったため,ピーク消費電力は81.96Wということになる。
1つ注意すべき点としては,「測定誤差はデジタルマルチメーターの確度とクランプ式電流センサーの精度に依存する」というのが挙げられよう。
大まかな計算では,仮に6Aの電流が測定されたとき±0.32A程度だ。「ワット換算で±4W弱程度の測定誤差はある」ことを織り込んだうえで,レギュレーション20世代以降の測定値やグラフは見てもらえればと思う。
以上のような方法でEPS12Vの電流を測定するわけだが,電流値では直感的に分かりにくいだろうということで,スコアとしては「測定された電流値に12を掛けてワット換算したもの」を採用することにした。
ベンチマーク実行時に記録した最大の電流値に12をかけた値を,そのベンチマークタイトルにおける「CPUの最大消費電力」とし,30分間放置した後の最小電流値に12を掛けた値を「CPUのアイドル時における消費電力」として採用するわけだ。また,必要に応じて,ログを基に消費電力推移のグラフを掲載することもある。
なお,EPS12Vの消費電力はおおよそCPU単体の消費電力に相当するが,マザーボードが搭載する電源部の変換効率による影響を受けるため,「100%完全なCPUそのものの消費電力」ではない。あくまでも「CPU単体の消費電力の目安となるスコア」である。
掲載してあるテスト方法は誤りを含んでいる場合があり,予告なく修正されることがあります。また,リプレイデータを公開する場合,それは,4Gamerの読者が実際にベンチマークテストを行うに当たっての利便性を図るためだけに提供されるものですが,出典を明示し,かつ4Gamerへのリンクを明示的に張る場合に限り,商用/非商用媒体で利用できるものとします。
なお,本稿で紹介しているテスト方法やテスト機材を利用した結果,OSあるいはPC本体,その周辺機器などといったハードウェアに不具合が生じても,筆者および4Gamer編集部,Aetas株式会社は一切その責任を負いません。
- 関連タイトル:
ベンチマーク
- この記事のURL: