- 636 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 22:31:41 ID:fTTvzrRQ]
- たぶん昔の俺と同じミスしてんじゃないかな。「ひどく処理落ちする」
ってのはどうやって計測してるの?Timerを使って計測する限り大抵の 環境で60fps以上のループを回せないので(Timerの分解能でググれ)、 17ms以下の時間を計測できないことになる。つまり処理の時間を計測 すると「0msと17msが交互に出てくる」という現象が起こる。この 17msを処理落ちと思ってしまっているのでは。 結構前に書いた気がするけど、どんなにVolatileImageで高速化したところで その前処理である「drawImage()」がjavaでは(というか最近の言語では) 絶望的に重いので、よほど小さい画像か低いfpsじゃない限り drawImage()で再描画回すのは無理だよ。画面全体の再描画は無理なので、 一部だけにしないと。 だから「複数の画像をテクスチャであらかじめ読み込んでおいて、それを 3D空間上で順番に表示する」ということになるのよ。 drawImage()はリアルタイムで使用してはいけない。 だから3Dデバイス無しで動きの多い2Dの描画は無理。java以外の2Dゲームも 最近はほとんどこの処理で描画している。 アプレットでjoglやjava3dやGTGEを使いたい場合は、「あらかじめモジュールを プレイヤーに各個インストールしておいてもらう」か「java web startを使用 する」かの2択になる。私はアプレットに興味がないので 知りたければ自分で調べて…。
|

|