今更ながら replicaisland。
以前、仕事のヘルプでGLSurfaceViewを扱うAndroidアプリに触れる機会があったのですが
当時は疑問に思っていたことがソースを見て解消できました。
オープンソースって凄いですね。
何を疑問としていたかといえば、AndroidのライフサイクルとGLSurfaceViewです。
・ Backキー押し下げによる終了
・ Homeキー押し下げからの再スタート
例えばランチャーアイコン、RecentryList
・ 電源キー押し下げによるサスペンド・レジューム
EGLContextが破棄されるタイミングでVRAMの内容もフラッシュされるため
一般的なゲームコンソールなどとは異なり、Android特有の制御をしてあげないとダメと。
当然といえばそれまでですけど、Androidの経験が少ないと癖のある制御に違和感を覚えますね。
で、深く追うつもりはなかったのですが、ついついエンジン部分も。
・UI、GL、ゲームのスレッド3本制御
・レンダリングキュー
・GLSurfaceViewのカスタマイズ
・GCを発生させにくい設計
これは大変勉強になりました。
その他、ゲームという括りを外しても入力周りはかなり参考になります。
0 件のコメント :
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。