2011年11月18日金曜日

replicaisland

今更ながら replicaisland
以前、仕事のヘルプでGLSurfaceViewを扱うAndroidアプリに触れる機会があったのですが
当時は疑問に思っていたことがソースを見て解消できました。
オープンソースって凄いですね。

何を疑問としていたかといえば、AndroidのライフサイクルとGLSurfaceViewです。

・ Backキー押し下げによる終了
・ Homeキー押し下げからの再スタート
   例えばランチャーアイコン、RecentryList
・ 電源キー押し下げによるサスペンド・レジューム

EGLContextが破棄されるタイミングでVRAMの内容もフラッシュされるため
一般的なゲームコンソールなどとは異なり、Android特有の制御をしてあげないとダメと。

当然といえばそれまでですけど、Androidの経験が少ないと癖のある制御に違和感を覚えますね。

で、深く追うつもりはなかったのですが、ついついエンジン部分も。
・UI、GL、ゲームのスレッド3本制御
・レンダリングキュー
・GLSurfaceViewのカスタマイズ
・GCを発生させにくい設計

これは大変勉強になりました。
その他、ゲームという括りを外しても入力周りはかなり参考になります。

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。