【解決】プラグインによるメモリリーク現象を解消したい。

返信する
アバター
ネコタ
記事: 173
登録日時: 2016年7月10日(日) 18:35
連絡する:

【解決】プラグインによるメモリリーク現象を解消したい。

投稿記事 by ネコタ »

いつもお世話になっております。

特定の変数の名前と値をマップ上にウィンドウとして表示できるようなプラグインを作ってもらったのですが、このプラグインによりメモリがものすごく食われてしまい、困っています。作成した本人も手直しの仕方が分からないとのこと(笑)

元となったプラグインはYEP_MapGoldWindowだそうです。こちらでは、メモリリークを起こしませんでした。

改変したプラグインを添付しますので、修正箇所と対処方法が分かる方がいましたら教えて頂きますでしょうか。
添付ファイル
MNS_QuestValue.js
(7.93 KiB) ダウンロード数: 10 回
最後に編集したユーザー ネコタ [ 2016年11月03日(木) 22:14 ], 累計 1 回
猫民のんたんのアトリエ
http://nekotaminontan.blog.fc2.com/
奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: プラグインによるメモリリーク現象を解消したい。

投稿記事 by 奏ねこま »

メモリリークというのは、要するに「不要なものを消さないまま、新しいものをどんどん作っている」状態ですので、
原因を探るならそういう箇所を中心に調べたら良いと思います。

で、このプラグインですが、毎フレーム、ウインドウを作りまくってます。
137~139行目はいらないと思います(何のための処理でしょうか?)。
00.png
00.png (24.23 KiB) 閲覧された回数 2157 回
また、メモリリークとは関係ありませんが、ウインドウの内容を再描画する際に
それまで描画されていた内容をクリアしていないため、ガンガン重ねて描画されてます。
Window_ValueVisible.prototype.refresh関数の一行目に「this.contents.clear();」を入れるようにしてください。
01.png
01.png (18.29 KiB) 閲覧された回数 2151 回
以上。
アバター
ネコタ
記事: 173
登録日時: 2016年7月10日(日) 18:35
連絡する:

Re: プラグインによるメモリリーク現象を解消したい。

投稿記事 by ネコタ »

奏ねこま さんが書きました:メモリリークというのは、要するに「不要なものを消さないまま、新しいものをどんどん作っている」状態ですので、
原因を探るならそういう箇所を中心に調べたら良いと思います。

で、このプラグインですが、毎フレーム、ウインドウを作りまくってます。
137~139行目はいらないと思います(何のための処理でしょうか?)。

00.png
また、メモリリークとは関係ありませんが、ウインドウの内容を再描画する際に
それまで描画されていた内容をクリアしていないため、ガンガン重ねて描画されてます。
Window_ValueVisible.prototype.refresh関数の一行目に「this.contents.clear();」を入れるようにしてください。

01.png
以上。

回答ありがとうございます。
書いてある通りにやってみたら、無事解消しました!

助かりました。ありがとうございます!
猫民のんたんのアトリエ
http://nekotaminontan.blog.fc2.com/
返信する

“MV:質問”に戻る