メモリ | 医学と遊びと製作と-本館-

医学と遊びと製作と-本館-

医学を学びつつ、ゲームを作ったり
愚痴とか感想を言ったり、そんな感じ

メモリリークの問題、というか仕様なのか分かりませんが、長時間プレイするとメモリをいつの間にか圧迫しているということが分かったので急遽対策を練りました

 

プレイする側からするとこういう対策って目に見えないのですが、こういう調整がすっきり上手くいくと製作者視点だと滅茶苦茶嬉しいです

 

昨日3時間耐久300回連続戦闘(700全部は流石に時間が無かった)をやり、しかも恐らく負荷のかかるであろうスキル群のみで戦闘を続けたらどうなるんだろう......と思ってさらに自分のPCを虐めてみました

最高にツクールとかアプリでこんなに負荷を掛けたことはないかも......

 

100回を超えたあたりから使用メモリが300を切ることが少なくなり、200回を超えた当たりから400を切ることが少なくなり、250回あたりで奥義を3度使った時にメモリが一時期580まで行ったと思ったらそこからなかなか沈静化せずに500前後を推移、という酷い結果でした

これは重すぎる......

 

と、冷静に原因と対策を考えてみた

1.当たり前のことだが、戦闘エフェクトだったりキャラドットの動きでどんどん負荷が溜まってる

2.cathe削除されてない?

3.単純にエフェクトが重い?

 

無論、3.のせいで1.が引き起こされているのですが、さらに冷静になってみました

一昨日のデバッグで10分程度の戦闘でエフェクトが重い敵キャラとの対戦での使用メモリが400を超えなかった

→連続戦闘を1時間に100回とかやらない限りは圧迫はされない

→負荷はかかってるんだろうけど、Cathe削除が上手く行ってないことが大きな理由?

→戦闘エフェクトを開放するときにCathe削除すれば解決?

と思い立ってスクリプト組んで導入したらエラー

→エラーを直すより別の方法を探すか

→じゃあscene毎で消す処理を加えてみるか

→成功

 

スクリプトに関してはあてずっぽう的に組んで検証する程度しか出来ないので導入は無理かな、と思ってたら案外動きだしました

戦闘時(200~300MB)の使用メモリが戦闘前(150MB程度)の状態に戻り一安心

 

でも、無いと思うけど30分くらいぶっ続けで戦闘したりだとかした時にメモリが溜まり過ぎたら動作が心配なんだよな......と思ってGoogle検索をかけたら既に素材公開しているサイト様があった!

しかもCathe保存限界数まで指定できる、なんというスクリプトだ......!

 

と、自分の苦労的なものはいつもの通り水の泡になったものの大きな進歩

使用メモリ的な意味でだいぶ改善されました

 

導入後のデバッグもう一度しなくては......

早く公開にまでこぎつけたいものです