それは、現在のゲーミング PC の聖杯である 144fps を達成することです。
最高のゲームモニタを購入し、最速のCPUと最高のグラフィックカードを組み合わせました。 とてもスムーズで、とても反応がよく、自分の優れたスキル、あるいは少なくとも高いリフレッシュ・レートで対戦相手を圧倒する準備が整ったのです。 ただ、ひとつだけ問題があります。 多くのゲームで144fps(またはそれ以上)を達成するのは難しく、時にはまったく不可能なこともあります。 それは、ゲームのコア デザインと機能から始まります。 コンソールを非難するわけではありませんが (どうでもいいですが、私は完全にコンソールを非難しています)、現世代のゲーム プラットフォームのいくつかが 60Hz 以上の出力ができない場合、その上でプレイするゲームがわざわざ 60fps、場合によっては 30fps を超えることがないのは当然のことです。 ゲーム開発者がそのような視点でスタートした場合、後々修正するのは非常に困難です。 Fallout 4 のようなゲームでは、物理、移動速度などをフレーム レートに結びつけていますが、しばしば好ましくない結果になっています。 ゲームの複雑さは増加し続け、複雑さはより多くの計算を行うことを意味します。 シングルプレイヤー ゲームは、通常、マルチプレイヤー ゲームとは異なる経験です。 後者は本質的に競争が激しいため、より高い fps はトップ プレーヤーにとってより有益であり、フレーム タイムを向上させる多くのものを省略することがよくあります。
たとえば、Counter-Strike、Overwatch、PUBG、および Fortnite のようなゲームについて考えてみてください。 AI や NPC のロジックが必要なことは、ほとんどありません。 世界のほとんどは静的で、走り回っているのはプレイヤーだけなので、オーバーヘッドが大幅に少なくなり、最終的に高いフレームレートが得られる可能性があります。 Assassin’s Creed Odyssey、Monster Hunter World、および Hitman 2 の環境を見てください。 処理が必要なクリーチャー、NPC、およびその他のエンティティが何百とあり、それぞれに異なるアニメーション、サウンド、およびその他のエフェクトが存在します。 そのため、処理の多くが行われる最速の CPU でさえも処理に手間取ります。
そう、GPU ではなく CPU です。 設定や解像度を十分に下げると、CPU が制限要因になります。 そして、複雑なゲームでは、CPUの限界は144fpsを簡単に下回ることがあります。 144fps を達成するには、多くの場合、高速なグラフィックス カードが必要ですが、同様に高速な CPU も必要です。
Assassin’s Creed Odyssey は、RTX 2080 Ti でほぼ 144fps に達することができます…
Hitman 2は122fps程度のCPUボトルネックに叩き込まれる。
Monster Hunter Worldも120fpsを超えるのは難しい。
アサシンクリード、モンスターハンター、ヒットマンのCPUベンチマークを見てください。 1080pで低品質または中品質で動作させると、CPU性能の面で優れたスケーリングが行われますが、それでも144fpsはなかなかハードルが高いです。 さらに重要なのは、このスケーリングは主にクロックスピードによるもので、コア数やスレッド数は、特に6コアプロセッサーを超えると、それほど重要ではなくなってくるということです。 ほとんどのゲームは、まだ多くの作業を行う 1 つのスレッドによって支配されているからです。
物事を反転させ、各フレームをミリ秒単位で考えてみましょう。 安定した 60fps では、各フレームのグラフィックスと処理時間は最大で 16.7 ミリ秒です。 144fps にジャンプすると、各フレームがすべてを完了するのにかかる時間はわずか 6.9 ミリ秒です。 しかし、現在のフレームをレンダリングする各パーツには、実際にどれくらいの時間がかかるのでしょうか? 答えはさまざまで、これは Amdahl の法則の議論につながります。
Amdahl の法則の要点は、並列化できないコードの部分が常に存在するということです。 4.0GHz の Intel コア 1 つで各フレームのすべての計算を処理するのに50 ミリ秒かかる仮想的なゲームを想像してください。 その場合、ゲームの動作速度は20fpsに制限されます。 ゲームコードの75パーセントがサブタスクに分割されて同時に実行され、25パーセントがシングルスレッドで実行される場合、CPUコアの数にかかわらず、4.0GHz Intel CPUのベストケースのパフォーマンスは80fpsにとどまるでしょう。 手書きの文字が下手なので、実際のナプキンではありません。
ゲーム コードをリワークして、単一スレッドで 12.5 パーセント、おそらく 5 パーセントしか実行されないようにすると、役に立ちます。 160fps や 400fps も可能ですが、そのためには開発者の時間を他に費やす必要があり、もちろん CPU には無限のコアとスレッドがあるわけではありません。 ポイントは、ユーザー入力、ゲームの状態、ネットワーク コード、グラフィックス、サウンド、AI などのすべての処理を処理できる時間は限られており、より複雑なゲームでは本質的にもっと時間がかかるということです。 例えば、ゲームがストレージからオブジェクトやテクスチャをロードする必要がある場合、高速なSSDでは数ミリ秒、ハードディスクでは数十ミリ秒かかるため、途中で不具合が生じると、ゲームが激しくストールすることになります。 これが私たちが生きる世界です。
別の言い方をしよう。 現代の PC は、潜在的に毎秒何十億もの計算を噛み砕くことができますが、それぞれの計算は極めて単純です。 たとえば A + B のようなものです。 1 つのエンティティのロジック更新を処理するには、何千、何万もの命令が必要かもしれませんし、それらすべての AI およびエンティティの更新は、各フレームで発生しなければならないことのほんの一部に過ぎません。 PC では、古い 4 コア Core 2 Quad または Athlon X4 から最新の Ryzen または 9th Gen Core CPU まで、GPU は Intel 統合グラフィックから GeForce RTX 2080 Ti まで、すべてで実行できる能力を意味します。 すでに存在しているので、これは分かっています。 しかし、それらのゲームは、通常、グラフィックス、AI、およびその他の要素において最先端ではありません。 それは、時にそれほど明白ではない方法で、根本的に単純化されているのです。 ゲームやグラフィックスの複雑さを軽減しても、それほどの効果は期待できません。 7年前のCS:GOを、オーバークロックした5GHzのCore i7-8700Kで1080pにした場合、最高で約300fps(フレームあたり3.3ms)ですが、スタッターにより最低fpsがその半分程度に落ちます。 CPU が主な制限要因であるため、GTX 1050 から Titan RTX まで、すべてにおいて CS:GO を 270 ~ 300fps で実行することが可能です。 ソフトウェアとゲーム デザインについてであり、ときには、手放すことも必要です。 144fps のゲームに心を決めたのであれば、私ができる最善のアドバイスは、フレームレート (またはフレームタイム) がすべてではないことを忘れないようにすることです。 144fps 以上を維持できない場合でも、144Hz のリフレッシュ レートは素晴らしいものです。 高品質の 144 Hz ディスプレイは、G-Sync および FreeSync もサポートしており、144 fps を少し下回ると、目立ったスタッターやティアリングを回避するのに役立つことがあります。 完璧にスムーズなフレームレートは素晴らしいことですが、それだけではゲームを素晴らしくすることはできません。 ハードウェアやフレーム レートに関係なく、リラックスしてゲームを楽しんでください。