今回のレビューは、応募時に各自自分が行いたいレビューテーマを記載しています。今回私は「マイクロアーキテクチャの強化」についてで選出していただいていますが、私がマイクロアーキテクチャの部分で記載したのは、「動画エンコードの性能差を、世代間で比較する」というものでした。
そこで今回は極力CPU以外の環境を同等に近づけ、動画エンコードを中心に性能差を検証してみました。用意したのは以下のCPUです。
第1世代として用意されたのは、LGA1366向けのCPUとしては後期モデルとなる、Core i7-970です。これは私が現時点でメインPCとして使っている環境となります。一応Bloomfield世代の4コアモデルとなる、Core i7-950も持ってはいるのですが、今となっては比較するには厳しい性能かと思いますので、今回の実験からは外しました。本来は第2世代となるSandy Bridgeも用意出来れば良かったのですが、生憎私はSandy Bridge世代のCore i7は所有していませんので、ここではデータはありません。
そして次に用意したのは第3世代となる、Ivy BridgeのCore i7-3770です。こちらはvPro冒険レビュー時に利用したものであり、倍率ロックフリーの3770Kではありませんが、今回の実験では全て定格周波数で動作させていますので特に問題にはならないでしょう。ただ、Core i7-4770K比で100MHzほど動作周波数が低いことを前提にご覧いただければと思います。
そして3つめが今回レビュー用としてお送りいただいたCore i7-4770Kです。
本来ならば全てに完全に同等なソフトウェア環境を構築するべきですが、Core i7-970はメイン機で利用しており、さすがにこの環境は常時利用出来なければ困りますので、既存の環境を用いた実験結果となっています。常駐ソフトウェアの数などが遙かに多い分、不利な条件であることは予め記しておきます。
それぞれのCPUは以下の環境で動作させています。
・Core i7-970
マザーボード:ASUS P6X58D-E
メモリ:24GB DDR3-1600 (トリプルチャンネル動作)
OS:Windows7 Ultimate SP1 64bit
起動SSD:OCZ Agility4 AGT4-25SAT3-512G
ビデオカード:NVIDIA GeForce GTX 670
・Core i7-3770
マザーボード:Intel DQ77MK
メモリ:16GB DDR3-1600 (デュアルチャンネル動作)
OS:Windows7 Ultimate 64bit
起動SSD:Crucial CT256M4SSD2
ビデオカード:CPU内蔵Intel HD Graphics 4000
・Core i7-4770K
マザーボード:ASRock Z87 Extreme4
メモリ:8GB DDR3-1600 (デュアルチャンネル動作)
OS:Windows7 Ultimate 64bit
起動SSD:OCZ Vertex4 VTX4-25SAT3-128G
ビデオカード:CPU内蔵Intel HD Graphics 4600
一般的にLGA1366環境では、Intel公式の定格クロックであるDDR3-1066でベンチマークを測定することが多いのですが、X58チップセットのマザーボードではDDR3-1600までをサポートしていることが多く、今回利用したP6X58D-Eでも利用可能であったため、メモリはDDR3-1600で動作させ、全ての環境で同じメモリクロックを利用するようにしました。
さて、本題の動画エンコードについてですが、全て同じMPEG2ファイルを、Cyberlink Media Espresso 6.7で別形式に変換する際の所要時間で性能を比較しています。変換元はCanopus EDIUS Neo2で平均ビットレート15Mbps、解像度1,920×1,080、フレームレート29.97fpsという設定で出力した、23分40秒のMPEG2ファイルです。今回の検証では全てのパターンを2回計測し、より良い方の値を掲載しています。また、書き出し先にはデータドライブとしてWesternDigital WD10EFRXを接続して、そこを設定しています。
検証1:解像度848×480、ビットレート1.5MbpsのH.264形式への変換
まずは主にポータブルデバイスで再生する際の画質となる形式です。変換元がMPEG2、変換先がH.264ですから、エンコード・デコード共にIntel Quick Sync Videoの支援対象となります。なお、Core i7-970にはIntel Quick Sync Videoがありませんので、ビデオカード(GeForce GTX 670)のNVIDIA CUDAを利用した場合の結果で代用しています。
Media Espressoは元々Intel Quick Sync Videoへの最適化が進んだアプリケーションですから、Quick Sync Video有効の場合にNVIDIA CUDAと比べてもCore i7-3770/4770Kが優位であることは想定済みだったのですが、Quick Sync Video無効の場合でもCore i7-970が大きく後れを取る形となりました。1.5倍のコア・スレッド数も、シングルスレッド時の性能向上の前には有利な材料にはなり得ないということでしょうか。
一方、Core i7-3770とCore i7-4770Kとの比較は、予想以上に僅差となりました。誤差程度の差とはいえ、Quick Sync Video有効時の結果はIvy BridgeのCore i7-3770が上回っています。Quick Sync Video無効時にはさすがにHaswellのCore i7-4770Kが上回りますが、クロック差も100MHzあることを考えると、ほぼ同等の結果と考えて良いと思われます。
検証2:解像度1,280×720、ビットレート4MbpsのWMV9形式への変換
今度はホームシアター等で使う際に適した設定です。WMV形式への変換ではQuick Sync VideoやCUDAの支援は受けられませんが、MPEG2のデコードに対する支援は可能ですので、一応有効・無効の両方の値を計測しました。
まず、ここでもCore i7-970が他に対して大きく後れを取る格好となっています。意外にもCUDA有効時には大きく時間が短縮しますので、GeForce GTX 670のCUDAにはMPEG2デコード支援だけでも十分価値があるということでしょう。ただ、CPU単独での性能ではスレッド数の多さも全く活きることはなく、世代の古さを感じさせる結果となってしまいました。拡張命令セットの少なさが影響している可能性もありますが、発売当時は独壇場ともいわれたBloomfield/Gulftownの動画エンコード性能も一線級とは言い難いものになってしまっているのは残念ながら事実です。
一方、Core i7-3770とCore i7-4770Kとの比較では、H.264の場合とは異なり明らかな差が付いています。H.264の際には殆ど互角であったこの両者ですが、Quick Sync Video無効時には約5%の差であり、クロック差(約3%)よりも大きな差が付いていますし、Quick Sync Video有効時には明確なレベルでの差が付いていて、MPEG2のデコード性能を含めた総合力で1ランク進歩していることがわかります。現在のMedia Espresso 6.7はまだHaswellへの最適化は行われていませんが、それでもIvy Bridge世代と比較して、安定して同等またはそれ以上の性能を示していることを考えると、今後のアプリケーションの最適化によってはより大きな差が生じる可能性もあるでしょう。
ここまでは実際の作業で使われる可能性が高い、Media Espresso 6.7を使った検証でした。しかし、Media Espresso1つだけでは最適化度合いの違いもあるでしょう。そこで無償で提供されているコンポーネントを利用した動画変換ベンチマークである、「x264 FHD Benchmark v1.0.1 64bit」をそれぞれの環境で実行しました。
検証3:x264 FHD Benchmark v1.0.1 64bitの結果
x264 FHD BenchmarkはSSE4.2までの拡張命令に対応していますので、丁度各CPUがほぼ同じ条件で競うことになります。
結果はMedia Espressoでは他のCPUの後塵を拝していたCore i7-970が大健闘を見せました。HaswellのCore i7-4770Kにこそ僅かに及ばなかったものの、Ivy BridgeのCore i7-3770を大きく上回る結果を見せました。シングルスレッド性能こそ大きく劣るものの、2コア/4スレッド多いという優位点がシングルスレッド時の性能差を埋めた格好です。
この結果から予想されることは、今後Haswellの拡張命令に最適化されたアプリケーションが充実して行くに従って、Haswellの優位は広がって行くであろうということと、拡張命令が一定以上利用出来ないアプリケーションであれば、マルチスレッド対応である場合、割合素直にシングルスレッド時の性能×同時処理スレッド数で結果が決まるということではないでしょうか。
検証4:CINEBENCHで傾向を見る
今度は動画エンコードから離れて、CPUの処理性能そのものを見てみましょう。利用したのは定番ベンチマークの「CINEBENCH R11.5 64bit」です。CINEBENCHではCPUの全コアを利用した場合と、1コアのみを利用した場合の2パターンを測定しています。
こちらも全コア利用時の結果は「x264 FHD Benchmark」に近い傾向となりました。Core i7-970とCore i7-4770Kの値が拮抗し、Core i7-3770の値がそれよりもワンランク落ちるという形です。
ただ、1コア時のスコアは想像以上に極端な差となりました。HaswellとIvy Bridgeの間の差はこれまでの検証から想像出来る範囲だったのですが、Gulftownの値は想像を超えるほど他の2つを下回っています。
動画変換でこそスレッド数の多さで何とか対抗出来ていたCore i7-970でしたが、シングルスレッドのアプリケーションで利用する限りでは、もはや最近のCPUに太刀打ち出来る水準ではないようです。
逆に言えばHaswellのCore i7-4770Kは、スレッド数で1.5倍上回るCore i7-970と同等かそれ以上のマルチスレッド性能を持ち、その上シングルスレッド性能では圧倒的に上回るということになりますから、弱点らしい弱点のない万能型高性能CPUであるとまとめることが出来るものと思います。
強いて言えばまだマザーボードのBIOS(UEFI)やアプリケーション側の最適化はまだこれからという段階ですが、それでも現時点で既に先代のIvy Bridgeの総合的に上回っているわけです。1世代の間でも確実な進歩が見られています。
第1世代Coreプロセッサー以前のシステムを利用している方であれば勿論、それ以降の環境からであってもHaswellの進化は実感出来るレベルに達しているものと思います。私自身、今すぐにメインPCを入れ替えることは難しいのですが、それでも入れ替えを考えたくなるような結果でした。