日記を書こう

やっぱ日記ってのは苦手だ。めんどくさくて放置しちまう。

現在、いわゆる誘導レーザーというものを作成中。
今日実験で使ったから改めて思うんだけどレーザーって絶対曲がらないからね。重力レンズ効果でもない限り。電磁波の直進性ってヤツですわ。
ま、それはさておき。モノそのものはなかなかいい感じ。レーザーは魚の骨みたいに複数の部分に分かれていて、各パーツが次のフレームでは一個前のパーツの位置と角度をコピペすればOK。結局直交座標だけじゃなくて、速さと角度の極座標も併用して扱ったほうがいろいろと動かしやすいことがわかった。レーザーの場合、角度はそのまま回転描画に使うしね。
できたら画像貼ろう。

しかし、それよりもいろいろと問題が。メモリに。
シューティングって弾や敵が次から次へと出ては消えするから、まあパフォーマンスをそれほど求めないなら、各オブジェクトを逐次生成、消去することになる。それにあたってメモリを動的に確保、解放するんだけど、タスクマネージャで監視したところ、どうもメモリが増えていく一方で減らない。つまりメモリリークが起きている。一つのステージが終わったら、そこで使ったオブジェクトはいったんすべて解体されるはず。たしかに少しは解放してるけど、ステージ開始前のメモリ使用量までは下がらない。なんどもプレイすると、どんどんメモリを食いつぶしていく始末。なんとか原因を突き止めないと。どうもキャラクタのチェインか、シーンオブジェクトの解放が怪しい気がする。

なおこれに当たっていくつかのゲームのメモリ使用量を見てみたところ、東方萃夢想はタイトルで35MB、ステージで150MB使用。メルブラReACTはタイトルで50MB、重いステージではなんと230MBも食ってた。すごいすごい。
これはウィンドウモードの時で、フルスクリーンだと違ったりするのかな。VRAMとかうーむよくわからん。