スレッド数がゲームに与える影響って?
近年のCPUはシングルコアの「クロック周波数」を重要視する時代から「コア数(C)」「スレッド数(T)」に重きを置くように変わってきている。
クロック周波数とはCPUに記載されている「基本クロック:3.2GHz」などの数値のことを意味している。例えば、3.2GHzだとCPUが1秒間に32億回の信号を送っているということだ。この「クロック周波数」の値が大きくなればなるほど送れる信号が増えて処理速度があがる。
コアにつき動かせるプログラム数は1つであり、複数のプログラムを瞬時に切り替えて動かしている。そのため複数コアのCPUが誕生するまでは「クロック周波数」でどれだけCPUへ信号を送れるかという機能をCPU性能の指標としていた。
しかし、「クロック周波数」の性能限界を迎えつつあり、複数のソフトウェアを常駐することが前提となった今の環境では「コア」や「スレッド」の数が優先されるようになった。マルチコア/スレッド化することで同じ時間でパラレルに処理することができるようになり、CPUの処理速度は飛躍的に上昇した。
「シングルコア」と「マルチコア」では何が違うのだろうか。答えは簡単で、マルチコアはシングルコアに比べてコア数の分だけ性能があがる。コア数が増えてもソフトウェアによってCPUの処理方法が違うので単純計算で倍々と増えていくわけではないが、処理が並列化されているソフトウェアほど処理速度に大きく貢献する。
本題に戻ろう。
“CPUのスレッド数でゲームの性能は変わるのか”という点は、結論からいうとコア/スレッド数が多いほど性能はあがる。スレッドとはCPUのコアに割り当てられている処理の実行単位のことで、プロセス内の実行を担ってくれている。単一CPUで複数のスレッドを実行する機能のことを同時マルチスレッディング(Simultaneous Multithreading、SMT)と呼ぶ。スレッドが増えることで並行に処理が行なわれ、CPUの性能を無駄なく活かせるというものだ。
ではゲームをプレイするときにスレッド数でどのぐらい差が出るのか? というのが今回の検証テーマだ。
CPUがゲームに与える影響
CPUの処理速度が速ければ処理落ちすることがなく快適にゲームをプレイすることができる。ゲームで表示されている画面はビデオカードでグラフィック描写しているが、内部的に処理をしている部分に関してはCPUに依存している。
例えば、ゲームで高画質設定にした場合に視界が広がるとする。その場合は描写されるグラフィックは多くなるが、増えれば増えるほど物理演算の対象も増えてCPUの仕事も増えるのだ。ゲーム内の世界で大規模にビルの爆破を行なった日にはシングルコアのCPUではクロック周波数がいくら高くても演算処理は追いつかなくなってしまうだろう。
今回の検証環境 | |
---|---|
CPU | Athlon 240GE(2C4T)@3.5GHz、 Ryzen3 2200G(4C4T)@3.5GHz、Ryzen 5 2400G(4C8T)@3.6GHz、Ryzen 5 2600(6C12T)@3.4GHz、Ryzen 7 2700(8C16T)@3.2GHz |
マザーボード | ASRock「X470 MASTER SLI」 |
メモリ | CORSAIR「VENGEANCE RGB PRO」(DDR4-3200 8GB×4) |
ビデオカード | NVIDIA「GeForce GTX1060」 |
電源ユニット | Seasonic「SSR-650FM」(650W、80PLUS GOLD) |
メインストレージ(OS) | Samsung「970EVO Plus」(M.2 500GB) |
検証用ストレージ | Seagate「ST4000DM004」(HDD 1TB) |
OS | Windows10(64it) / October 2018 Update |