過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/01/23
様々なラッピングを施して

 
様々なラッピングを施して、iアプリ環境の自作 Virtual Machine を
Android への移植が8割程完了した。
 
以前作成したゲームコンテンツは問題なく動作。
 
完全同一の VM コードで、プラットフォームを飛び越えてゲームが動く事に
すげー感動。
 
VM の満足度は 3割ほど。「何でも、どこでも、高機能に」動かせることを
目標にしてます。
 
 
あとは Graphics3D 関連の一部 API や、画面タッチのイベントを MIDP と
Android で VM 上で吸収して実装する必要がある。
 
ここ2日間、ずーっと自宅で Android エミュに付きっ切りだったので様々な
事実を理解できた。
 
ハマる箇所は多い。とくに lockCanvas() unlockCanvasAndPost() を iアプリの
ようなダブルバッファリングをイメージしているとハマる。
 
概念としては DirectDraw 時代フリッピングと似ている。
 
 
プライマリとバックバッファを切り替える。
 
基本的に毎フレーム全描画を行うか、領域を指定して描画しないと意図しない
現象が 起きたように 見える。
 
一枚なにか描画して  lockCanvas() / unlockCanvasAndPost() の間に何も描画
しない処理を入れ、それを繰り返すとわかりやすい。
 
一つ前に転送した画面と、現在の画面が交互に表示されることが確認できる。
 
 
あとサウンド関連で midi を鳴らしているのだけど、エミュ上では場合により
onCompletion() によるループ再生が行われないときがある。
 
この場合 seekTo() を行った後、Thread.yield(); で他のタスクに優先度を
上げてやると9割方解決。10割にはまだ届かない。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。