現在も十分現役な3GS、について、こんなもんですよ? こんな感じでした? というまとめ

・アプリのサイズが20MBを超えると、3G回線からダウンロードできない
(iPhone全てに共通)

→高圧縮画像を用いるしかない

→伸長処理はCPU(CGImageだったか?)で行う


・glTexImage2D函数を用いた、1MB のデータ量の転送時間は、10msを余裕で超え、冷や汗

→転送は、少ない回数で


・VRAMは48MBらしい(フロントバッファ、バックバッファ込み)

→規模次第だが、隙をみて不要な画像を削除し、必要なものを読み込む処理が必要
   Now Loading画面がiPhoneに多いことなんとなく納得できます


・CPUでの行列演算(4x4)15000回程度で60fpsを割り込む数値(16,6ms割れ)

→オーサリングをきちんと行い、
データを並列処理可能にできるのであれば、
行列演算は頂点シェーダへ移行すべきでしょう


iPhone4はこんなかんじ。

・30fpsで表示可能なポリゴン数は3GSと大きな差は無かった
 →いろいろ条件があるので、詳細は控えますが、
所謂、よくある、頂点構造を用いました

→CPUはiPhone4が速い

→iPhone4のVRAMは256(フロントバッファ、バックバッファ込み)

→iPhone4で解像度が大きくなったことを考慮すれば、順当な結果です?


感想

もう少しいいハードだと思っていたので、肩透かしを喰らいました

同じ経験をした人、多いのではないでしょうか?

ただ、良い操作性と良い見た目?が実現できているのは、さすがapple!という感じです??


まとめ

今回気づいた、この手のスマートフォンでのゲーム開発で気にしなければならない点は、
以下の3つ

・画像の転送は
Now Loading画面的なものを表示中に、一気に行う。
メインメモリ→VRAM転送(glTexImage)は重い

・画像のストレージからの読み込み、伸長も重いので、
Now Loading画面的なものを表示中に、一気に処理をする

・3Dモデルの表示に関わる演算で、プログラマブルパイプラインで吸収できるものは、
吸収したほうがCPUに空きができる。
(ただし、オーサリングと戦う覚悟を持つ)

これに気をつければ、そこそこなポリゴンも出るし、
それなりのクオリティが実現できるはずです。

スペックの比較、詳細については、
いろいろなサイトで紹介されていますので、ご確認くださいませ。