2012年2月25日土曜日

APIレベル引き上げ

サウンド制御のAndroid移植をしていて大きな穴が発覚。
どうも、C言語でOpenSL/ESを利用する場合、APIレベルを10以降にしなければならないらしい。

今まで、最低動作環境をAndroid2.2以降にしてました。
しかし、APIレベルを10にしてしまうとAndroid2.3.3以降になってしまう・・・。
別に、私が2.2に愛着がある訳ではないですが。
(日本では)2.2が最初に普及したので、2.3.3以降にするのはかなり微妙。

何より、Android2.3.3以降を前提とするのなら、NativeActivityにしなかったのが悔やまれる。
ただし、NativeActivityだとCanvasの使い方がよく分かりませんが。
NativeActivityは、色々とかゆい所に手が届かない。


Javaの方(AudioTrack)を使う方法もありますが、Javaだとメモリの扱いがCと比べて難しいので、バッファリング等の処理をGCを発生させずに作りこむのが、私のJava知識だと無理そうなので、Java部分ではサウンド処理は1ステップも書かせたくない・・・と考えています。
恐らく、Javaでサウンド処理を組むと、GCが多発してストレスの溜まるゲームになる筈。
パズルゲームなら良いですが、アクションゲームでは致命傷です。

やはり、Javaはキライです。
コンピュータのプログラムを作るのに向かない言語だから。
コンピュータのプログラム以外のものを作るためのプログラム言語=存在意義なし。
Javaでプログラムを作り続けると効率性の悪いプログラムしか作れなくなる=存在価値なし。
唯一のメリットは、保守性が悪く、将来システム障害の引き金になる可能性が極めて高い、ハイリスクなプログラムを比較的短い期間で作ることができることのみ。

0 件のコメント:

コメントを投稿

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

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...