ティラノスクリプトのメモリ使用量が増え続ける問題(メモリリーク)
ようやっとゲームが完成して喜んでいたのですが。
完成させた人じゃないと気付かないトラブルに直面しました。
ふと気がついたら、メモリ使用量が1Gになってる!
ゲーム起動直後は300MBくらいなのですが、ゲームを進めるたびに(具体的に言うと絵が切り替わるたびに)メモリが増え続けます。
ゲームクリア間際には1Gにも膨らんでしまいます。
これはティラノ自体に問題があるようで解決できませんでした。
わたしのゲームは1Gで済みましたが、プレイ時間の長いゲームだと無限にメモリが増え続けてゲームが落ちるようです。
ティラノ作者のシケモクK様と、ティラノでの最大のヒット作かと思いますが「奴隷との生活」の作者様とのやりとりがツイッターにありました。(日付クリックからのツリー表示でやりとりが全部閲覧できます)
@shikemokumk 先日ティラノスクリプトに関して質問させていただいたものです。また質問をさせていただいてもよろしいでしょうか?ティラノスクリプトでゲームを完成させたところメモリリーク?が原因で強制終了が頻繁に起こるようなのですが、これに何か対応の方法はないでしょうか?
— Ray-K (@Ray_Kbys) 2015年10月30日
@shikemokumk わかりました、試してみます、ありがとうございます。ゲームの評判が「中身はいいけどメモリ使用して強制終了だけがネック」との声が多く、なんとかできないかと色々しているのです…。
— Ray-K (@Ray_Kbys) 2015年10月31日
対処策としてレイヤーを減らすことが提案されています。私は16レイヤー使っていて、ためしに1つ減らして15レイヤーにしたのですが全く変わらなかったので、諦めました。
この問題、私の環境だと、windows8では発生せず、メモリ使用量15mbで済んでいます。
windows10になると一気に増えてしまいます。
最新版のティラノv5でも変わらないようです。
(奴隷との生活の感想を拝見すると、win8でメモリ4GくらいのPCだと、プレイ中に落ちるみたいですね。ちょっと古めのPCには優しくない)
このような状況にありますので、ティラノスクリプトでゲームを作る場合には、長時間プレイしそうなものは作らない!
というのが肝心だと思いました。
もっと具体的に言うと、メモリが増える問題は、プレイ時間ではなく画像表示回数で起こるようです。なので、作業的、ループ的な構造があって、いろいろな画像を行ったり来たりすると、メモリ使用量がどんどん積みあがっていくようです。
参考までに・・。