ZWIFTに限らず垂直同期の設定にオススメはない。まずそこからスタートする。PCとディスプレーの構成は多岐にわたるため、1つに条件を定義できないからだ。という前提をふまえ、垂直同期をチューニングする方法を紹介していく。
私が導入したPCはNVIDIAのGPUを搭載している。したがって、垂直同期の設定もNVIDIAコントロールパネル内に限られた話(厳密にはNVIDIAが提供する垂直同期技術)になる。NVIDIAは伝統的な垂直同期以外にも、遅延を少なくした「FAST SYNC(高速)」や「Adaptive VSync(適応)」という技術も開発している。
NVIDIA GTX600番台で「Adaptive VSync(適応)」が導入された。その後アーキテクチャーがPascal世代になりGPU(GTX1000 番台)の登場と共に「FAST SYNC(高速)」が導入された。NVIDIAの最新ドライバーを入れており、かつMaxwell世代以降であればFAST SYNC(高速)を選択できる。
Adaptive VSyncの動作としては、60Hzで動作する液晶テレビや一般的なノートPCであれば60FPS以上のフレームレートの場合は垂直同期が有効になる。60FPSを下回る場合はスタッタリングを防止するために垂直同期が無効になる。GPUがメモリーに描画し、メモリーからディスプレーに情報を受け渡す一連の中での遅延を考えると、標準的な垂直同期よりも多少はレイテンシが改善される。
後発の「FAST SYNC(高速)」 はゲームエンジンに対して「垂直同期オフ」であると良い意味で「騙す」処理を実行する。しかし、実際には出力側GPUが垂直同期の主導権を握っている。垂直同期がオフであるものの、テアリングを抑え低レイテンシを実現する技術だ。
現在は「FAST SYNC(高速)」がNVIDIA系のGPUで主流の設定だ。「FAST SYNC(高速)」の登場でスタンダードだった垂直同期の設定は事実上効力をなくしてしまった。
垂直同期のチューニング方法
設定はすべてNVIDIAコントロールパネルから実施した。詳しくは下記の記事を参考にしてほしい。
- パターン1
- 垂直同期:オフ
- レンダリング前最大フレーム数:3Dアプリケーション設定を使用する
- トリプルバッファリング:オフ
まずはじめに、設定上最も遅延の少ない設定から開始する。ディスプレーのリフレッシュレートが小さい場合は、無駄なGPU負荷になるので注意が必要だ。まずは本設定でZWIFTを動作させてみる。見る人にもよると思うが、表示の乱れが顕著だった。液晶ディスプレーの場合はテアリングやスタッタリングが発生する確率が高くなる。
「トリプルバッファリング」は垂直同期が有効である場合だけ機能する。メリットとしてはなめらかな映像を表現できるが、遅延が増すデメリットがある。「レンダリング前最大フレーム数」は大抵のゲーマーは1にしているようだ。1につき1フレームだけ意図的に遅延させる。こちらも垂直同期が有効のときだけ機能する。おなじく映像をなめらかに動かせる。
また本設定ではハードウェアの処理能力を100%使用する。この設定の問題点としては、GPUがフル稼働で消費電力が高くなることだ。GPUの発熱も上がりGPUの寿命も縮まる。MSIのAfterburnerといったGPUの設定を変更できるツールが使用できるのならば、CPU使用率は80~85%ぐらいに下げたチューニングが良さそうだ。
ただこのパターン1の設定は「GPUが空気を読まず、ひたすらディスプレーに情報を送りまくる」という状態である。画面のチラツキや、瞬間的に黒い横線がライド中に入る。したがって、「フレームレートとリフレッシュレートの整合性を垂直同期で解決しよう」という策を講ずる必要が出てくる。
- パターン2:
- 垂直同期:FAST SYNC(高速)
- レンダリング前最大フレーム数:3Dアプリケーション設定を使用する
- トリプルバッファリング:オフ
垂直同期を「FAST SYNC(高速)」にする。パターン2の設定で画面がチラつくようであれば「トリプルバッファリング」をオンにする。
- パターン3:
- 垂直同期:FAST SYNC(高速)
- レンダリング前最大フレーム数:3Dアプリケーション設定を使用する
- トリプルバッファリング:オン
パターン3でも画面のチラツキが抑えられないようであれば、標準的な垂直同期の設定を行う。
- パターン4:
- 垂直同期:オン
- レンダリング前最大フレーム数:3Dアプリケーション設定を使用する
- トリプルバッファリング:オフ
パターン4でも改善しない場合は、レンダリング前最大フレーム数を調整する。ゲーマーたちの設定を見ていると大抵1に設定している。しかし、単純に1に設定すればよいというわけではない。基本的には1ずつ値を調整して1フレームの遅延をチューニングしていく必要がある。
以上の流れで垂直同期の設定をチューニングしていき最も映像に乱れのない設定を探り当てれば良い。私のPC環境ではパターン4の設定が最もちらつきが少なかった(解消した)。要するに最新の垂直同期技術であっても必ずしも自身のPC環境にマッチするわけではないということだ。
なお、垂直同期の話はフレームレートとリフレッシュレートの話を理解しておく必要があるため、次章で詳しく触れる。
フレームレートとリフレッシュレート
ZWIFTに最適なフレームレートとリフレッシュレートの値はいったいどれくらい必要なのか。
ZWIFTのConfigファイルを直接設定変更することによって最高画質4K 2160p ULTRA(3,840×2,160(829万4,400画素))設定で動作することが可能だ。ただし、最新のCPUとGPUの導入が必要になる。Ryzen7とGeforceRTX2080構成の場合、4K高精細解像度ながら平均フレームレート(以下FPS)は120FPSで最大は200FPSを超えた。
しかし、ZWIFTにこれほど高いFPSは必要なのだろうか。
必要かどうかの判断基準は「ハードウェア面」や「個人がどこまで求めるか」などさまざまな観点がある。本記事は「ハードウェア面」に限って話を進めていく。「動けばいいんだよ」とか「勝敗に関係ない」ということは重々承知しているので、ハードウェア観点で見た最適な設定を考えていく。
フレームレートFPSとリフレッシュレート結論としては表示するディスプレーのスペックしだいだ。一般的な地デジTVやオフィス用途のディスプレーは60Hzで動作している。現在主流の地上デジタル放送自体が60コマ/秒(インターレース方式)で送出されているため、これらの装置であれば基本的に60Hzで表示できれば過不足はない。
ところが、TVではなくゲーミングPCやゲーミングディスプレー、倍速対応のTVでプレイを考えている場合は話が異なってくる。表示するディスプレーの仕様によってはリフレッシュレートが120Hzや240Hzと違うかもしれない。使用するシステムと表示するディスプレーのスペックをよく理解しチューニングを行う必要がある。
たとえば、ゲーム側(ZWIFT)のフレームレートがいくら120psで動作していても、ディスプレー側の描画速度であるリフレッシュレート(Hz)が60Hz程度で追いついていなければ意味がない。
ZWIFTに適切なフレームレートとリフレッシュレートはどれくらいが適当なのか。一見すると難しく感じるこれらの値は、システムとディスプレーの組み合わせがわかれば簡単に設定&判断することが可能だ。使用するシステム別のチューニングや実際に試したテスト結果を紹介する。まずは基本的な用語から確認していく。
リフレッシュレート
リフレッシュレートはモニター(ディスプレー)が1秒間に何回画面を書き換られるのかを示している。いわゆるパラパラ漫画と同じ原理だ。1秒間に何枚もの映像が切り替わることで人間の目には「あたかも動いているかのように」見える。60Hzなら一秒間に60回書き換えが実行され、120Hzなら120回書き換えが実行される。
枚数が多いパラパラ漫画のほうがなめらかに見えるように、ディスプレー側も「リフレッシュレート」が高ければなめらかに見える(この時点ではFPSの話はとりあえず置いておく)。一般的なノートPCや地デジ液晶TVのほとんどが60Hz(1秒間に60回が書き換わる)で動作する。ゲーミングノートPCやゲーミングディスプレーになると120Hzや144Hz、最近では240Hzといった高いリフレッシュレートで動作するデバイスもある。
液晶TVで「倍速パネル」や「高速駆動パネル」とうたわれているものは、何かしらの方法で60Hz以上のリフレッシュレートで駆動させている。メリットとしてはチラツキが低減される。リフレッシュレートが低い場合は、1秒間の書き換え回数が少なくなるため画面がチラつくように見える。
チラツキは眼精疲労や頭痛につながる。ZWIFTの場合は通常のゲームやTV映画鑑賞とは異なり長時間ずっと(あまりまばたきをせず)画面を凝視するため眼精疲労が溜まりやすい。そのため、リフレッシュレートをできるだけ上げて(FPSも同じく)プレイを行うことが望ましい。ディスプレーにもよるが75Hz以上であればチラツキが発生しない。
ただ、リフレッシュレートというものはディスプレー側の都合だ。「リフレッシュレートが高いとライダーがヌルヌル動く」は間違いはないのだが、ディスプレーを変えただけではゲームはヌルヌル動かない。ゲームの描画性能はCPUやGPUの性能で変動する。
フレームレート
フレームレートは1秒間で描画できる静止画の枚数だ。コマ数とも呼ばれる。PCの性能が高ければ1秒間に120枚(FPS)の静止画を描くこともできるが、性能が低ければ20枚程度かもしれない。フレームレートが低いとカクカクした映像になる。
フレームレートとリフレッシュレートは混同しがちだが、パラパラ漫画で例えるならばディスプレー側の「リフレッシュレート」は「パラパラ漫画の絵を1秒間に何枚めくれるか」の性能のに相当している。フレームレートはPCの性能に左右される。性能が高ければ高品質な絵を何枚も描画できる。
ただ、フレームレートはPCの性能に左右される。ZWIFTで設定できる解像度は「低(576p)」「中(720p)」「高(1080p)」から選択することが可能だ。ただし、性能の低いPCで1080pをプレイすると処理が追いつかずカクついてしまう。解像度別の推奨スペックは以下のとおりだ。
- 低:CPU Core 2 Duo~/RAM 4GB~/GPU オンボード~
- 中:CPU Core i5 ~/RAM 8GB~/GPU Geforce GTX 650、Radeon R9 200series
- 高:CPU Core i7 ~/RAM 8GB~/GPU Geforce GTX 970、Radeon R9 290series
ZWIFTではハードウェア条件をクリアしてConfigファイルを設定すると2060p(ウルトラ)4K設定が可能だ。私は2060p設定で動作させているが別の章で詳しくまとめる。
設定のバランス
重要なのは「フレームレート」と「リフレッシュレート」のバランスだ。「PCのスペックが足りず平均60FPSでしか動作しないのに、高価な240Hzのゲーミングモニターを使う」といった愚行を避けねばならない(無意味ではないにせよ)。そのためには、動かしたい解像度に対してZWIFTで使用しているPCがどれほどのフレームレートを稼げるかを知る必要がある。
ここまで「リフレッシュレート」と「フレームレート」という2つの用語が登場した。そこで、もう少しだけ内部処理がどのように行われているのかを確認してみたい。
画面が描画される際には、「パラパラ漫画のように1枚1枚表示している」と簡単に紹介したが厳密には違う。GPUもディスプレーも、画面の上から順番にピクセル(ドット)を1つ1つ描画する。しかし、GPU(グラフィックボード)はモニター(ディスプレー)に直接ピクセルを描いているわけではない。
GPUは初めにメモリーの上のバッファー領域にピクセルを描く。メモリーに書き込んだデータをディスプレーに転送する。データを受けとったディスプレーは上から順番に描画する、といった処理を一連の流れとして実行する。となってくると、すでにおわかりだと思うが「GPUが1秒間にバッファーに描いた数」がFPSで、「ディスプレーが1秒間に描く速度」がリフレッシュレートだ。
したがって、「フレームレート」と「リフレッシュレート」はそれぞれ独立した値として扱う。それぞれのどれくらいの値になるかはディスプレーかGPUの性能に左右される。ここで問題なのは、先程の「PCのスペックが足りず平均60FPSでしか動作しないのに、高価な240Hzのゲーミングモニターを使う」といった「GPUの描画能力」と「ディスプレー描画能力」が異なる場合だ。
一般的なノートPCや地デジTVのリフレッシュレートは60Hzだ。そして、高性能なGPUで処理が軽いZWIFTのようなゲームを実行すると60FPSを超え、200FPSにまで達する。たとえばリフレッシュレートが60Hzのディスプレーに対して、GPUが120FPSで描画できたとする(我が家がこのような状態)。
GPUは処理能力まかせのイケイケドンドンでデータを送り込んでしまう。ディスプレーのリフレッシュレートを考慮せずに空気を読まずひたすらデータを送り続ける。この「GPUとディスプレーのつりあわない状態」はさまざまな問題を引き起こす。
この不一致の問題は、双方のレートのズレによって画面がチラついたり上部分とした部分で異なる映像が見えたりといった見苦しさを生む。バッファーは画面の上から順に上書き更新されるので、ディスプレーに出力した段階で、上と下がズレてしまう現象が発生してしまう場合がある(いわゆるテアリング)。
このようなズレを防ぐ方法として「垂直同期」という機能がある。設定方法はGPUメーカーのソフトウェアによって異なるが、たとえばNVIDIA(ZWIFTと特に相性が良いことが知られている)であればコントロールパネルの3D設定で変更することができる。垂直同期の設定を行うことでGPUがバッファーに描くタイミングをディスプレーのリフレッシュレートに合わせることができる。
GPUはディスプレーが次の画像を更新(リフレッシュ)するタイミングまでバッファーに描画することを待つようになる。ただし、垂直同期を設定は「FPSがリフレッシュレートを超える場合」だ。ディスプレーのリフレッシュレートにもよるが、最低でも60FPSは担保できる設定にしておかねばならない。
また、GPUのソフトウェアによっては垂直同期の方法も複数ある。NVIDIAコントロールパネルからさまざまな3D設定をテストしたが、NVIDIA製品であれば「Adaptive VSync(適応)」か「FAST SYNC(高速)」がZWIFTにおすすめだ。
「Adaptive VSync(適応)」はFPSがリフレッシュレートを超える場合は、ディスプレーのリフレッシュレートと同期する。FPSがリフレッシュレートを下回る場合は垂直同期をオフになる。
私のおすすめは「FAST SYNC(高速)」だ。ある程度の低レイテンシが期待できる。ただ、画面に表示されない分のフレームをGPUが描画し準備しておく必要があることと、描画時の処理負荷が上がるためGPUのリソースは無駄に消費される。ただ昨今のGeforce RTX 2060,2070,2080といったミドル~ハイエンドGPUであれば余裕でULTRA 2160pを動作させられるから、リソースを無駄に消費しつつも「FAST SYNC(高速)」の設定をおすすめしたい。
各ハードウェア別に設定しておきたいリフレッシュレートとフレームレートをまとめた。
- Apple TV 4K : 30FPS(変更不可)だが4KTV(60Hz)でも全く違和感がない。
- リフレッシュレート60Hz上限ディスプレー:平均60FPS以上出せる解像度に設定する。
- リフレッシュレート120Hz上限ディスプレー:平均120FPS以上出せる解像度に設定する。
- リフレッシュレート240Hz上限ディスプレー:平均240FPS以上出せる解像度に設定する。
なんだかすごく当たり前な結論を書いてしまった。
まとめ:FPSを増やしてもZWIFT内の速度は上がりませんw
ぶっちゃけた話をする。実際に私はApple TV 4Kの30FPSと液晶TVの4K 60HzでZWIFTをプレイしていたが、一切、全く、ぜんぜーん、ホンマに困らなかった。むしろ映像は美しくプレイ中も違和感ない。Apple TV 4Kが30FPSシバリだからと言って全く困ることはない。とはいえノートPCや性能を最大限に引き出したい場合は、ここまでの性能の話を加味してチューニングしていく必要がある。
ここまでの話をふまえ、ZWIFTを行う場合のリフレッシュレートとフレームレートの話をまとめよう。普通のノートPCや液晶TVを使うことを考えるとリフレッシュレートはたいてい60Hzだ。その際に快適な映像を楽しみたいのであればフレームレートは最低限60FPS必要ということになる(もちろん60FPS無くても動くことは動く)。
NVIDIAのコントロールパネルの話に限定されるがグラフィックボードを搭載したデスクトップPCやノートパソコンであれば垂直同期の設定を「Adaptive VSync(適応)」にしておけばいい。GPUがオンボードであったり、性能の期待できないPCやノートパソコンの場合はZWIFT側の設定を低にしてけば間違いない。
正直なところを言うと、ZWIFTをプレイする際にフレームレートやリフレッシュレートの違いで勝敗が分かれることはほとんどない。Apple TV 4K(30FPS)と液晶TV(60Hz)でプレイしていて何も不便を感じなかったからだ。むしろ通信の遅延や帯域が細いほうが気になった。また、PCはZWIFTのBluetooth接続が不安定だ。
その点、Apple TVやタブレットはBluetooth通信が安定している。むしろ勝敗を分けるのはBluetoothや通信品質を気にしたほうがいい。元も子もないことを言うが、ZWIFTはFPSゲームのようにms単位で勝敗が左右されるゲームではない。
「FPSを上げても速くはならない、FTPを上げよう」それが最も速くなるための近道だ。
売り上げランキング: 7,429