日別アーカイブ: 2014年2月22日

Android SmartWatch ZWatch で 3Dゲーム (ChiRaKS)

昔作成した 3D ポリゴンのゲームを移植してみました。
CPU だけでレンダリングしているので、3D GPU が入っていない Z Watch でも動きます。

zwatch_chiraks01.png

ChiRaKS (Android)

当時 (2000年) は SH3 30~60MHz の SHARP MI-Zaurus (PDA) で動いており
160×160 サイズのレンダリングでぎりぎり 30fps に届かない程度でした。

その後移植した PocketPC (WindowsCE/WindowsMobile) では、すでに iPAQ に
StrongARM (206MHz) が搭載されており 100fps も余裕で超えています。
同世代の MIPS VR4122 端末 (150MHz) は StrongARM の 1/3 くらいの速度でした。

現在のハイエンド端末は single core でも Zaurus の 100倍以上速いので
1080×1080 サイズのレンダリングでも 60fps 近く出ます。
ただし 32bit 固定小数点演算を行っている関係上、演算がオーバーフローしてしまう
問題があったため、アプリでは最大解像度を 540×540 に制限しています。

Z Watch (JZ4775 MIPS) の画面は 240×240 と小さいこともあり余裕です。
設定の NoWait にチェックを入れると 60fps 出ていることがわかります。

レンダリングには NDK の Bitmap API を利用しています。

#include  
~
void Render( JNIEnv* env, jobject obj, jobject bitmap_object )
{
    void* ptr= NULL;
    AndroidBitmap_lockPixels( env, bitmap_object, &ptr );
    ~
    AndroidBitmap_unlockPixels( env, bitmap_object );
}

関連エントリ
Android SmartWatch スマートウオッチのスペック比較表
Android SmartWatch SmartQ ZWatch (4) アプリの管理
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch