リソースモニターを開いたときに、ゲームプレイ中にCPUの複数のコアがアイドル状態になっているのを見ても、最適化の問題ではありません。ほとんどのゲームは、物理演算とロジックを整理するメインスレッドに依存しています。このスレッドが飽和状態になると、他のコアに余裕があってもパフォーマンスが低下します。プロセッサを選ぶ際には、総コア数よりもコアあたりの速度の方が重要です。
グラフィックエンジンにおけるメインスレッドのボトルネック 🎮
UnrealやUnityのようなエンジンは、重要なタスクをディレクタースレッドに集中させ、残りのスレッドの使用を制限します。1つのコアが100%で動作している間、他のコアは指示を待ちます。これは、高速なi3のようにコア数は少ないがクロック周波数が高いCPUが、ローエンドのRyzen 7よりもゲームで優れたパフォーマンスを発揮できる理由を説明します。レイテンシとIPCは、単純なコア数よりも重要です。
あなたの16コアCPU、ビデオゲームの空っぽのジム 🚌
現在のゲームで16コアを持つことは、一人で仕事に行くためにバスを買うようなものです。メインスレッドはいつ発進するかを決める運転手であり、他の乗客はただ見ているだけです。開発者は負荷を分散しようと試みますが、物理演算とAIは依然として孤独なタスクです。その間、あなたのプロセッサは箱の中で筋肉を誇示していますが、ゲーム中は片方の腕しか使いません。