ZWIFTの魅力は仮想空間に多くのライダーが存在し競い合えることだ。人数が多ければ特に集中できる。レースイベントやmeet upとなれば特に顕著だ。周りのライダーが増えていくと気分も増していく。しかし、仮想空間のライダーが増えていけば比例してマシンの負荷も上がっていく問題が発生する。
そこで、今回の記事はグラフィックカードの設定を調整してZWIFTのパフォーマンスを最大化する方法をまとめた。
つまり、再生中の「1秒あたりのフレーム数=FPS」を増やし、ZWIFTのライディングを快適にする。本記事で紹介する内容は実際に筆者のPCでテストし検証した内容だ。できるだけGPUの性能を引き出せるように内容をまとめた。
本記事内で使用しているGPUはNVIDIAに限定している。そのためRADEONユーザーに対する内容は提供できていない。RADEONのGPUを所有している方がZWIFTの動作を確認していた場合は、情報を追加したいのでぜひ情報を寄せてほしい。主にNVIDIAコントロールパネルに相当する「Catalyst」または「Crimson」Radon GPUスイートのユーティリティーが記事内で不足している。
FPSを確認する
ZWIFTでサポートされている主要なGPUメーカーは、Intel、AMDのRadon、NVIDIAの3つだ。デスクトップPCやノートPCにこれらのGPUカードが搭載されている場合は、ZWIFTでサポートされているかを”機材リスト”で確認することから始める。一部のGPUは、古すぎ場合パワー不足で使用することが困難だ。
古いGPUやサポートされていないGPUの場合は、GPUカード自体をアップグレードする必要がある(交換可能なグラフィックカードを搭載したPCの場合)。もしくは、PC全体を新たに購入する必要がある(ノートPCやビデオカードがマザーボードに統合されている場合は特に)。
ただ、”機材投資”に移る前にお手持ちのPCがどれほどのFPSを叩き出せるかを確認してからでも遅くはない。まずは最近プレイしたZWIFTログファイル(PCに自動保存されている)を取得しよう。次に、「ZWIFT Log Parser」のWebにドラッグ&ドロップするだけで簡単にFPSを確認することができる。
出力される結果の内容としては、ゲーム内でどのようなFPS値で動作していたのかをとても見やすい概要で表示してくれる。
ZWIFTのFPSに関する詳細な内容は別の記事でまとめている。
「ZWIFT Log Parser」はログを分析し、解析に必要なデータを抽出する。1つのライド(プレイから保存の間)におけるFPS(最小、最大、平均)をわかりやすいデータとして出力してくれる。自身のPCが設定に対してどのようなパフォーマンスが得られるのか不明な場合に非常に重要なデバッグツールとして有効だ。
ZWIFT設定の構成
設定ファイルを変更すると、ZWIFTゲーム内にパフォーマンスを表示することが可能になる。ZWIFTには「ゲームの解像度」を変更するときに使用する構成プロファイルが存在している。「低」を使用する場合は「low.txt」をロードする。「Ultra」で2080pの4K設定を使用する場合は「ultra.txt」がロードされる。
なお、ultraの設定条件は強力なグラフィックカードを搭載していないと選択することはできない。
自身が使用する解像度に従って目的のファイルを編集する。自身がプレイする際のゲームの解像度に一致するファイルを開き、ファイルの最後に次の1行を追加するとFPSが表示されるようになる。ファイルは必ず同じ場所(ディレクトリーパス)に保存すること。
gShowFPS = 1
上記の設定を実施することで、画面の左上にFPSを表示できるようになる。通常は自分の乗車データ(ワット、ケイデンス、心拍数)が表示されている部分にFPSがオーバーレイされる。以下のようにリアルタイムFPSが表示される。
ファイルを設定後、ZWIFTを起動した時点でFPSのパフォーマンスを確認することができる。最新版のZWIFTには、FPSを減らすために使用できる「バッテリーセーバー」設定がある。ノートPCを使用している場合は必ず主電源(AC)電源に接続してプレイしよう。最大のFPSパフォーマンスを得ることはできない。
ZWIFTの画面上にfpsをリアルタイムに表示させるためにはzwiftのConfigを直接編集する必要がある(もちろん自己責任で)。ファイルは以下のフォルダ配下に保存されている。
Windowsの場合 C:Program Files (x86)ZWIFTdataconfigs
MacOSの場合 ~/Library/Application Support/ZWIFT/data/configs
Configに「set gShowFPS=1」を追加するとZWIFTのゲーム画面にfpsが表示されるようになる。なお、fpsはゲームの状況によって大きく変動する。集団の数が多いとfpsは著しく低下する。一人でラルプ・デュエズを登っている時と、ボルケーノを集団で爆走するときはfpsが異なるので注意が必要だ。
また、windowsの場合はconfigファイルを直接開いても編集することができない。編集するためのアプリケーションを管理者権限で起動する必要がある。その後、任意のConfigを開き先程の情報を追記する。macosの場合は「アプリケーション」→「ユーティリティ」→「ターミナル」を起動する。コマンドラインで修正すれば良いのでむしろこちらのほうが楽だ。
ざっくり言うとcdでディレクトリを移動し、「sudo su -」でルートになって、viでconfigを編集して保存すればいい。もちろんGUIから操作できるかもしれないがコマンドラインの方がどう考えても早くて楽だ。
GPUの設定
細かな設定が行えるが、ZWIFTで設定が必要なのは垂直同期とPhysXだけでいいようだ。
上の画像では、最大FPSを1000に設定している (が、文字通り意味がない)。この場合GPUの使用率100%が恒常的に続く。そうなるとGPUのプロセッサの発熱が高まり処理低下を招く。また、グラフィックボード上のコンデンサの寿命も早まり、せっかく購入したグラフィックボードの寿命も縮めてしまう。
そのため現在は、NVIDIAコントロールパネル上の最大フレームレートを120FPSに設定している。この値はマシンスペックやディスプレイ環境によって異なる。私が使用しているディスプレイはリフレッシュレートが60Hzで倍速なのでFPS120に設定している。実際目視でもわかるが、60FPSと120FPSではライダーの足の動きに差が出る。
ビデオカードの設定内容が、ZWIFTに最適な内容なのかを確認していく。本記事内ではZWIFTと相性が良いNVIDIAのGPUに限った内容で構成している。まずはじめに、最新のNVIDIAドライバーがNVIDIAの公式サイトから直接ダウンロードし、インストールされていることが重要だ。
グラフィックボード製造メーカーが同梱しているドライバーはたいてい古い。まずはドライバーを最新にしよう。次は、WindowsのシステムトレイのNVIDIAアイコンから「NVIDIA Control Panel」を起動する。設定内容は複数あるが、主に2つの設定を変更するだけだ。他のすべての設定は変更する必要はない。
まず、マシンが要求するすべてのPhysX呼び出しをGPU自体が処理するように設定されているかを確認する。PhysXはゲーム内で空気、汚れ、煙、水といったエフェクトを演算するリアルタイム物理エンジンだ。複雑な流体力学の計算が必要な場合に優れた効果を発揮する。CPUの演算よりも遥かに高速な演算を実現する。
その他にも、剛体物理、衝突判定、各種関節、摩擦力の考慮、衝突の検知、衝突判定のON・OFF切り替え、接触通知、先進的なキャラクタコントロール、乗り物のための動力学といったZWIFTにはなくてはならない演算を担っている。
デフォルトの設定は「自動選択(推奨)」に設定されている。GPUのパフォーマンスを最大にしたい場合はこのままの設定にしてはいけない。宝の持ち腐れになること間違いなしだ。
このセクションの設定を変更し、プライマリー(最速)GPUに設定する必要がある。設定が「自動選択」または「CPU」に設定されている場合は最高のグラフィックスパフォーマンスを得ることはできない。NVIDIAが「推奨」と確かに定義しているが、本設定は「自動選択」のままにしてはならない。
この時点で設定を保存して適用する。
次にNVIDIAコントロールパネルの左側にある[3D設定]に移動する。右側ウインドウに移り、下にスクロールしていくと[グローバル]タブの下の[垂直同期]の設定を行う。settingの設定に関係なく無効に設定する。これらの変更を保存して適用する。
今回の記事では最大のFPSを得るために垂直同期を無効化している。しかし、無効化は汎用的な設定であって厳密にはそれぞれのPCや設定内容に適合した垂直同期の方法を「探り当てる」必要がある。その方法は別の記事でまとめている。
垂直同期はGPUの演算性能とディスプレーのリフレッシュレートの関係が綿密に絡み合い相性を見つけねばならない。ZWIFTのパフォーマンスを上げるGPU設定のNVIDIA版は以上だ。その他にもパフォーマンスを高める設定を紹介していく予定だ。
売り上げランキング: 53,457