Mobile Device はここ数年かなりの速度で向上しており勢いが衰えていません。
GPU, CPU ともに今までテストしてきたとおり、PC や専用機に匹敵する能力を
有するようになって来ました。
●個性が偏るモバイルプロセッサ
PC と同じように端末の性能には大きな開きがあります。
現時点で入手可能な最速の CPU は Snapdragon APQ8064 (Krait Quad core) Snapdragon 600 APQ8064T (Krait 300 Quad core) でしょう。
明日 2013/04/04 には 1.7GHz の Optimus G Pro L-04E が発売予定となっています。
・日本で発売されたスマートフォン、Tablet 等の全リスト
今すぐ手に入る端末の GPU では間違いなく iPad4 の A6X が最速です。
PowerVR SGX500~ の型番を持つ GPU は数多く存在しますが、
大きく分けて 2種類あります。
PowerVR Series 5 SGX530, SGX535, SGX540 PowerVR Series 5XT SGX543MP, SGX544MP, SGX554MP
型番が似ているのでややこしいですが、この両者は PVRTC2, ShadowSampler,
演算精度, MultiCore など機能的な違いもあります。
その中でも最上位 SGX554MP4 を搭載しているのは iPad4 の A6X だけです。
このようにハイエンドの端末といってもそれぞれ何を重視するかによって評価が変わります。
Apple は GPU を最優先しており、その反面 CPU で Quad core の端末はまだ存在していません。
方向性で真逆なのが NVIDIA Tegra です。
率先して Dual core, Quad core の Tegra2/3 を展開してきたものの
トレードオフとして GPU 機能が弱く、描画性能も芳しくありません。
よって、性能差だけでなく性格付けでも特性がバラバラなのがこれまでの
モバイルデバイスの特徴でした。
・トレードオフがあるため一部分だけ秀でている
・メーカー毎に強化している分野が異なる
ただし次の世代ではこれらのアンバランスさがかなり解消されると考えられます。
●世代交代
他社に先駆けて GPU/CPU ともに世代交代を果たした Qualcomm では、
特別突出した点はないものの平均的に全体の性能が高くなっています。
また今後登場予定の Tegra4 は CPU core が刷新されるだけでなく、
ようやく NVIDIA らしい GPU へと強化が行われるようです。
・4gamer: [GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
Tegra2/3 の GPU である ULP GeForce は Shader Unit が discrete で
あることから GeForce6800/7800 世代と言われていましたが、
機能的には大幅に削られたものでした。
例えば GeForce の特徴的な機能だった NVIDIA ShadowMap (PCF) が
Tegra2/3 には搭載されていません。
それどころか今まで試した GPU の中では、Tegra2/3 だけが 24bit depth
や depth_texture に未対応でした。
他社の GPU 、Adreno, PowerVR, Mali, Vivante はみなこれらの Extension
に対応しているにもかかわらずです。
上記サイトのスライド写真を見ると Tegra4 でようやく機能差が解消されており、
かつ Hardware PCF が搭載されるなど、期待した GeForce 6800/7800 クラスの
GPU となるようです。
ざっくりと 4 pixel pipe なので能力的にはおそらく無印 GeForce 6800 くらい
ではないでしょうか。
pixel rate は PS3/Xbox360 世代の半分ですが、メモリ帯域からも納得できる数値です。
Xbox360 22.4GB/s (+32.0GB/s) PS3 22.4GB/s (+25.6GB/s) Tegra4 14.9GB/s
もちろん予想に過ぎないので、実際に手に入れてみるまでは本当の性能はわかりません。
CPU/GPU 共に世代交代によって、一点集中型から平均的な性能向上に向かうと
考えられます。極端な個性付けはおそらく減っていくのではないでしょうか。
●コンソールとの比較
Xbox1/GC 時代のコンソールは確実に超えています。
まず CPU の速度が桁違いで、GPU 性能もシェーダーなどはるかに高機能です。
ただしフィルレートに特化した PS2 の特殊なハードウエアは正しく比べることができません。
またモバイルデバイスに要求される解像度はコンソールよりも高いので、
その点も考慮する必要があります。
mem B/W CPU RAM screen --------------------------------------------------------------- GC 2.6GB/s (+?) 0.5GHz x1 24MB SD 480 PS2 3.2GB/s (+48.0GB/s) 0.3GHz x1 32MB SD 480 Xbox1 6.4GB/s 0.8GHz x1 64MB SD 480 Xbox360 22.4GB/s (+32.0GB/s) 3.2GHz x3 512MB HD 720 PS3 22.4GB/s (+25.6GB/s) 3.2GHz x7 512MB HD 720 PS4 176.0GB/s ?.?GHz x8 8GB HD 1080 Tegra3 6.0GB/s 1.7GHz x4 1~2GB APQ8064 8.5GB/s 1.7GHz x4 HD 1080 A5X 12.8GB/s 1.0GHz x2 1GB HD 1536 Tegra4 14.9GB/s 1.9GHz x4 A6X 17.0GB/s 1.?GHz x2 1GB HD 1536
誰が見ても明らかな点としては RAM 容量があります。
スマートフォンもタブレットも 1GB~2GB の RAM 容量が当たり前となっており、
この点では現行コンソールよりも余裕があります。
●実デバイスでの CPU の速度
実在のデバイスでの性能比較
(実測ではなくスペックからの算出値なので注意)
CPU Clock DMIPS/clock DMIPS*core ------------------------------------------------------------------------- Nexus 10 Exynos 5 Cortex-A15 x2 1.7GHz 3.5 11.90 ARROWS X F-02E Tegra3 Cortex-A9 x4 1.7GHz 2.5 17.00 Optimus G Pro L-04E APQ8064T Krait 300 x4 1.7GHz 3.3 22.44 Xbox360 Xenon PPC core x3 3.2GHz 2.0~(3.2) 19.20~(30.72) ・DMIPS*core が総合性能(目安)で数値が大きい方が速い
CPU core が異なっていると比較が難しいためあくまで目安として見てください。
DMIPS/clock は同一 clock で比較した core 単体の能力で、
これを clock*core 倍したものが DMIPS*core となっています。
Xbox360 の DMIPS/clock はWikipedia Instructions per second を元にしています。
ただし同一性能のはずの PS3 PPE が 3.2 なので、Xbox360 の実際のスコアは
もっと高い可能性があります。(括弧内の数値は 3.2 を元にした場合)
PS3 の Cell は特殊で簡単に比較することができません。
今後登場するであろう Exynos 5 Octa (Cortex-A15 x4) や Tegra4 (Cortex-A15 x4)
のスコアを予想すると下記の通りです。
CPU Clock DMIPS/clock DMIPS*core ------------------------------------------------------------------------- Exynos 5 Octa Cortex-A15 x4 1.6GHz 3.5 22.40 Tegra4 Cortex-A15 x4 1.9GHz 3.5 26.60
あまり厳密な比較ではないかもしれませんが、CPU 能力で現行コンソールに
匹敵するレベルに達しつつあることは事実です。
ただし、単精度の浮動小数点演算能力では敵いません。
CPU fp-op/core core clock GFLOPS ---------------------------------------------------------------- Xbox360 Xenon PPC 12 3 3.2GHz 115.2 PS3 Cell BE 12+8 1+7 3.2GHz 217.6 Tegra3 Cortex-A9 4 4 1.7GHz 27.2 APQ8064 Krait 8 4 1.7GHz 54.4 Tegra4 Cortex-A15 8 4 1.9GHz 60.8 ・GFLOPS が大きいほうが速い。 ・理論値なのでこの通りの性能が出るわけではありません。
特に Cell は圧倒的で、フィルレートの怪物だった PS2 と同じように、
一部分(浮動小数点演算能力)において突出した能力を持っています。
予想では多分 PS4 でも CPU 単体の浮動小数点演算能力においては Cell に
届かないのではないかと思います。
その代わり GPU にストリーム処理を任せられるので、
GPU を補っていた Cell とは逆の立場になります。
●GPU の速度
・Mobile Device は非常に解像度が高い
・GPU の構造が異なっている
・Tegra は演算精度が違う
・機能面は同等
Smartphone でも Full HD、Tablet だと 2048×1536 や 2560×1600 など
かなりの高解像度になりつつあります。
メモリ帯域も Shader サイクルも多くがピクセルに費やされます。
そのためたとえ GPU 性能が高くなっても相対的にはパワー不足に陥ります。
大半の GPU が TileBased となっており、Desktop GPU と構造が異なっています。
特に PowerVR は何もしなくても HW で Deferred Rendering を行うので、
ソフトウエアであまり凝ったことをすると逆効果となる可能性があります。
例えば Early Z Culling を効果的に使うには手前から描画しますが、
ピクセル単位でフラグメントが除去される TBDR では不要です。
またポストエフェクトのようにフレームバッファを再利用すると追加コストが
発生する可能性があります。
この辺りを意識して作られていない場合、ただ移植しただけでは
Mobile GPU ではあまり性能が出ないかもしれません。
その点 Tegra は Immediate Mode なので Desktop GPU と同じ考え方が通用します。
実際にテストしたわけではないので憶測ですが、上にも書いたとおり
およそ Tegra4 で現行 console の半分くらいではないかと思われます。
ただし Tegra シリーズの PixelShader は演算精度が mediump です。
精度が必要なシェーダーは動かない可能性がありますし、
HW Shadow Sampler の対応は必然だったのかもしれません。
また mediump を基準とするなら PowerVR もパフォーマンスが上がるので、
fp32 の GPU との単純な FLOPS 比較は無理があるように思います。
なお Qualcomm の Adreno は PixelShader の演算精度も GPU 機能も
コンソールと比べて遜色ありません。
・シェーダーや Extension 等、GPU 機能は現行コンソールと完全に同等
・描画速度では根拠となるデータが乏しい (が、おそらく負けてる)
●まとめ
結論としては、内部構造を熟知しているわけでも実測したわけでもないので根拠が
無いですが、GPU 性能やゲームで重要な単精度の浮動小数点演算性能でも
Xbox360/PS3 の方が上でしょう。
さらに高解像度であることやバス帯域の限界もあり、実アプリケーションでは
GPU 性能以上に隔たりが生じているのが現状ではないかと思います。
ただし性能の上昇は急激で、時間の問題であることは確かです。
特に RAM 容量では勝り、CPU の実行性能も差が無くなりつつあります。
関連ページ
・SoC list
・Mobile GPU/CPU 関連の情報まとめ
関連エントリ
・PlayStation 4