Amazon Fire TV は Qualcomm Snapdragon 600 APQ8064 搭載。
Kindle Fire HDX の Snapdragon 800 には及ばないものの、
Nexus 7 2013 の Adreno 320 より 1.5 倍高速です。

Amazon Fire TV

Console     SoC            CPU      clock core GPU        GPU性能比予想
-----------------------------------------------------------------------
OUYA        Tegra3 T33     Cortex-A9 1.7GHz 4  ULP GeForce(12)    1
Fire TV     S600 APQ8064T  Krait 300 1.7GHz 4  Adreno 320         6倍
Vita TV                    Cortex-A9   ?GHz 4  PVR SGX543MP4+     ?

Nexus7 2012 Tegra3 T30L    Cortex-A9 1.2GHz 4  ULP GeForce(12)    1 
Nexus7 2013 S4 APQ8064     Krait     1.5GHz 4  Adreno 320         4倍 
Kindle HDX7 S800 MSM8974   Krait 400 2.2GHz 4  Adreno 330         8倍 

より詳細な比較表は下記にまとめました。

Game Console スペック

Google によると Nexus 7 (2012) Tegra3 と Nexus 7 (2013) は CPU で 1.8倍、GPU で 4倍差があるとのこと。(Impress 新型 Nexus 7)
また旧 S4 Pro の Adreno 320 と Snapdragon 800 Adreno 330 は演算能力で2倍の差となっています。(Qualcomm Snapdragon blog)
Snapdragon 600 の Adreno 320 はちょうどこの中間の性能。
さらに Snapdragon 600 Adreno 320 は Adreno 305 の 3倍以上の性能。(Snapdragon 600)

                  GPU         比率  ALU  ALU比
----------------------------------------------
Snapdragon 400    Adreno 305   2    6     1.5
Snapdragon S4 Pro Adreno 320   4    16     4
Snapdragon 600    Adreno 320   6    24     6
Snapdragon 800    Adreno 330   8    32     8

Amazon の新しい世代のデバイスは Snapdragon Adreno 3x0 で統一されています。
FireTV, Kindle HDX 向けアプリは Adreno 3x0 向けに最適化していくことになるでしょう。
ただし Fire OS は Android 4.2 (API Level 17) なので OpenGL ES 3.0 未対応。

Qualcomm New Amazon Fire TV powered by Snapdragon 600 processor


関連ページ
Game Console スペック一覧
Mobile GPU bench mark
CPU FLOPS


PS Mobile 向け関数電卓をリリースしました。
PlayStation Mobile の Sotre からダウンロードすることができます。

vita_psm_flcalc.png

fl 関数電卓 (PS Mobile)

PS Vita だけでなく PS Mobile 対応の HTC J Butterfly や Xperia でも動きます。

xperia_psm_flcalc.png
↑Xperia Acro

PSMobile の UI にある EditBox (EdittableText) は、Software Keyboard 側の
入力領域を用いる仕様になっているためインライン編集を行うことができませんでした。
そのためカーソル表示やテキスト編集、カーソル位置のタッチ判定など自前で実装しています。

Android/iOS の ちょっと電卓 では、MI-Zaurus / Pocket PC 版と同じ
数式エンジンを使用しています。これは C言語で書かれています。

PS Mobile の開発言語は C# で、ソースコードを共有できないため新たに書き起こしました。
名称が違うのはそのためです。

最近 SDK / Firmware が更新されたらしく、フォントキャッシュの生成が高速化されているようです。
当初は新しい Dialog を開くタイミングで、フォント展開が発生し少々待たされることがありました。
開発中は回避策が見つからずに悩んだ部分だったので嬉しい改良です。

メモリやヒストリは自動的に保存しています。
アプリ終了やバックグラウンド移行など、オートセーブに都合の良いイベントが
見つからなかったため PersistentMemory を利用してます。
手軽に扱える反面、容量制限があるので適切な UI イベントも併用できるようにして欲しいところです。

方向キーなどの物理ボタン操作に対応していないのは、
有効にすると Android 上でソフトウエアコントローラが表示されてしまうためです。

UIScale の設定は、アスペクト比の違いにより縦方向でずれが生じるため
縦と横で別の調整を加えています。


関連エントリ
PlayStation Suite と対応ハードの性能比較


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 が最速です。

Mobile GPU bench mark

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 は特殊で簡単に比較することができません。

CPU core list

今後登場するであろう 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 だと 2048x1536 や 2560x1600 など
かなりの高解像度になりつつあります。
メモリ帯域も 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


2013/02/24
PlayStation 4

PC では 4 core x HT でハードウエア 8 スレッドは当たり前になりましたが、
完全に独立した 8 core でプログラムを走らせる機会はまだあまり多くありません。
1 core あたりの演算能力がどの程度かわかりませんが、
うまく並列化できれば最大 8倍 (数倍)のパフォーマンスを見積もれるのは
ユニークだと思います。

ゲーム機は Xbox360 や PS3 の時点で multi core + HT (Hardware Multi Threading)
が当たり前となっています。
ただし core の数と高い動作クロック数を維持するために、
これまでは非常にシンプルなデザインの CPU core が用いられていました。

PPE+SPE で 8 core 搭載する Cell はもちろん、3 core の Xenon も
pipeline は in-order で、単体の実行効率はあまり高くありません。
その代わり 2 thread を interleave することで見かけのレイテンシを減らしています。
3.2GHz の 1個は、ある意味 1.6GHz 2個相当といえるのかもしれません。

比較的単純な In-order の core に HT を組み合わせて
高いクロックで走らせる手法は Atom に近い考え方です。
ただし Atom は省電力に用い、ゲーム機は高性能化のためで目的が異なります。
また Atom は interleave ではなく、さらに core あたりの演算能力は
Cell PPE, Xenon の方が高くなっています。

PS4 の CPU はこれまでと違い、比較的実行効率の高い core が多数
並列に存在していることになります。
ハイエンド core ではありませんが out-of-order の 2並列なので、
おそらく Cell/Xenon/Atom よりも、
クロック周波数に対して違和感ない速度で動作するのではないかと予想されます。

Cell/Xenon/Atom は HT 依存 In-order であり
ピーク性能は高くても single thread では性能を引き出すことができないため、
クロック周波数よりも遅い印象を受けるからです。
速いけどピーキーな CPU が多数存在していた前世代から、
PC と同じように比較的扱いやすい CPU core で均等な 8並列に移行したのだと
考えられます。


GPU 性能に関してもバス速度で推測出来ます。
176GB/sec の帯域があるそうなので、少なくてもこれくらい必要とするだけの能力が
システム全体に備わっていると言えます。

GC         2.6GB/s
PS2        3.2GB/s (+VRAM 48GB/s)
Xbox1      6.4GB/s
Xbox360   22.4GB/s (+ED RAM 32GB/s)
PS3       22.4GB/s (+CPU 25.6GB/s)    ( 22.4 =  3.2  x7.0倍)
PS4      176  GB/s                    (176.0 = 22.4  x7.8倍)

PCハイエンドの GPU では VRAM が 200GB/s を優に超えているのですが、
VRAM 容量では single で 8GB 搭載したビデオカードは自分が知る限りでは
まだ無かったように思います。
今までできなかったメモリをふんだんに使用したアルゴリズムが
利用できるようになりそうです。

おそらく CPU 性能や演算能力ではモバイルデバイスの進化の方が速いので、
数年後に追いつかれる可能性があります。
ですが GPU とバス帯域に関しては、据え置き専用機としてのアドバンテージが
十分備わっているといえるのではないでしょうか。


ユーザーとして欲しいかどうかは置いといて、
開発者としてはどのようなアルゴリズムを実装してみようかと、
いろいろと考えるだけでも楽しみなハードウエアではないかと思います。
モバイルデバイスの方が進化が早いと思っていましたが少々興味を持ちました。


関連エントリ
2007/01/22: PS3 PPU は速いのか


小さくなったおかげで持ち歩きやすくなり、結構便利に使ってます。


● 例えばミュージックプレイヤー

Bluetooth が AVRCP に対応しているおかげで、ヘッドホン用のレシーバー DRC-BT15P
がワイヤレスリモコンも兼ねるようになりました。
曲の選曲や再生停止も手元でできるわけです。
この機能が使えるのは、クロスメディアバーでカーソルがミュージックにある場合に
限られるようです。
プレイヤーに移動したり、画面を消したり HOLD したりと少々手順が多いのが難点。


● HOLD は重要です

使っていて気になったのは、少しスライドしただけですぐスリープが解除されて
しまうこと。

一度鞄から取り出したらバッテリーが無くなっていて、電源が全く入らなくなっていた
ことがありました。たぶん移動中にどこかでスライドがずれて電源が入ったのだと思います。

ゲーム中のスリープだったので、オートスリープせずにバッテリーを使い切って
しまったのでしょう。スライドも HOLD にしておけば反応しないので、普段から
HOLD に切り替えておいた方が良さそうです。

その代わり嬉しい発見もありました。


●自動で中断セーブしてくれます

スリープ中バッテリーが空になったので、直前のゲームが消えてるだろうなとあきらめて
いたのですが、なんと中断セーブデータが残っていました。バッテリーが切れる前の状態
から再開しています。
バッテリーが切れそうになると、自ら中断セーブを行ってくれるようです。

PSP go はゲームの中断機能があって、プレイ中に別の機能を呼び出すことが出来ます。
仕組みはノート PC のサスペンド/ハイバネーションと同じなので、このような活用も
出来るんだと感心しました。

これ実際のゲームプレイ中にも一度確認してみたいと思ってます。
本当に自動で中断してくれるならもうバッテリー切れが怖くないですね。


関連エントリ
PSP-N1000 PSP go の Bluetooth で出来ること
PSP-N1000 PSP go 購入、Store が無くても出来ること


| 次のページ(日付が古い方向)>>