開発PCの性能検証

はじめに

こんにちは、グレッゾ開発部プログラマーの櫻井です。
普段はツール開発などを通じて、ゲーム開発の環境を整える仕事をしています。

さて、今回は新しい開発PCの性能比較検証を行うことになりました。
と言いますのも、新しい開発PCに搭載するCPUの候補が2つあったからです。

従来、グレッゾの開発者用PCには、Intel CPU搭載のものを使用していました。
しかし、昨今AMD Ryzen CPUの性能とコストパフォーマンスがかなり高まってきたという
ことで、IntelとAMD、開発向けPC用のCPUとしてどちらが良いか、性能比較検証を行うこととなりました。

いくつかのCPUベンチマークテストと、実際の業務で行うようなビルドやコンバートの処理時間比較を行って、新しい開発PCのCPU性能の比較を行っていきます。

検証用マシンスペック

Intel マシン

CPU : Intel Core i5 10600 6コア12スレッド
マザー : H470M DS3H(Gigabyte製)
メモリ : DDR4 32GB
GPU : Nvidia GeForce RTX 2060
VRAM : 6GB
SSD : ADATA SX8200PNP 2TB

こちらのマシンのみ、CPUに簡易水冷がついています。
以降、Corei5 10600と呼称します

AMD マシン

CPU : AMD Ryzen 5 3600 6コア12スレッド
マザー : B450M Pro4(ASRock製)
メモリ : DDR4 32GB
GPU : Nvidia GeForce RTX 2060
VRAM : 6GB
SSD : ADATA SX8200PNP 2TB

基本的には、Intelマシンと同等です。
以降、Ryzen5 3600と呼称します

ベンチマーク

まずは、CPU性能の測定を行うベンチマークソフトをいくつか実行してみました。

 CinebenchR23

intel cinebench

Corei5 10600 CinebenchR23の結果

amd cinebench23

Ryzen5 3600 CinebenchR23の結果

マルチコアではRyzen5 3600が10%ほど上回り、
シングルコアではCorei5 10600がわずかに上回りました。

CPU-Z

intel_cpuz

Corei5 10600 CPU-Z ベンチマーク

amd_cpuz

Ryzen5 3600 CPU-Z ベンチマーク

Cinebenchと似た傾向になりましたが、
Cinebenchと比べるとシングルコアの差は広がり、マルチコアの差は小さいようです。

ビルド・コンバート時間

実際の業務で取り扱う、プログラムビルド、シェーダービルド、データコンバートを実行してみました。

今回はテストのために、それぞれのPCで全てのソースコードのビルド、データコンバートしていますが、普段の業務では部分的なビルドや分散ビルドを行ったり、ビルド専用マシンを使ってビルド・コンバートさせたりしていることを、お断りしておきます。

また、このテストでは、参考のため櫻井が現在使用している旧開発PC(Corei7 6700K 4コア8スレッド)の処理時間も合わせて計測しています。

プログラムビルド

10個のプロジェクトが含まれるソリューションファイルをビルドしてみました。

program_build

数回テストしましたが、わずかにRyzen5 3600の方が早いようでした。
旧PCとの差は顕著で、25分ほど早くビルド完了しています。

シェーダービルド

2つのプロジェクトのシェーダーファイルをビルドしてみました。

shader_build

シェーダーについては、Corei5 10600の方が早くなる傾向でした。
CPUごとに得意な計算の種類が異なるからかもしれません。

また、シェーダービルドではCPU使用率が全コア100%に達していたので、CPUコア数の増加が処理時間に大きく影響しそうです。

データコンバート

2つのプロジェクトのゲーム用のデータをコンバートしてみました。

データコンバートの補足をすると、
ゲームに使われるデータは、人が見られる形式で一時的に保存されていますが、それをそのまま使用するとデータに無駄があるため、バイナリ化や圧縮を行ってゲームアプリケーションが使用しやすく、軽量なデータへ変換する必要があります。

ここでは、それらの変換や圧縮を総称してデータコンバートとしています。

data_convert

プロジェクトによって結果が異なりました。
トータルでの処理時間が26分ほどですが、差は5%ほどに収まっているようです。

CPU温度

今回の検証では、Corei5 10600の方がCPUクーラー性能が高いため、参考程度の情報です。

CPUの全コアに100%の負荷をかけるようなテストをしたところ、
Corei5 10600 では54℃ が最高CPU温度でしたが、
Ryzen5 3600 では77℃ まで上がりました。

もしかしたら、Ryzen5 3600は7nmプロセスのため密度が高く、熱がこもりやすくなっている可能性があるため、CPUクーラーには少しだけ気を使った方がよいかもしれません。

SSD速度

SSDについても、ベンチ―マークテストを行いました。

intel_cdm_nvme01

Corei5 10600 のSSD速度

amd_cdm_nvme_01

Ryzen5 3600 のSSD速度

SSD自体はどちらも同じものを使用していますが、一部の測定でRyzen5 3600の方が早くなりました。
何度かテストを行いましたが、結果はほぼ同じになりましたので、CPUの性能差が出ているのかもしれません。

ただ、ランダムアクセス複数スレッド実行では速度差がほぼ無かったため、実務の上ではあまり気にする事もないかもしれません。

まとめ

いくつかのテストを通して、Corei5 10600 とRyzen5 3600の比較を行いました。

ベンチマークソフトでのマルチスレッド性能ではRyzen5 3600の方が結果がよかったのですが、実際の業務で行うビルドやコンバートでは、Corei5 10600が上回るケースもあり、甲乙つけがたいという結果になりました。

ベンチマークソフトでの結果を見るだけでなく、実際の業務で実行する処理の性能比較をすることで、より開発に適したものを選択することができますね。

まとめると、どちらのCPUにも良いところがあり、開発PCとしては大きな差はつきませんでした。ということになります。

どちらのCPUになっても、今の開発PCよりも格段に高速になっているので、
実際に開発で使える日が楽しみです。