ツクールフォーラム

トリアコンタン
トリアコンタン
頂いたプロジェクトでも確認しましたが、やはり現象を再現できませんでした。
キャッシュなしの場合、僅かながら消去したピクチャへの参照が残るようですがこれが根本原因ではなさそうです。

試行方法:
いただいたプロジェクトで、二つのAPNGを交互に100回表示切り替えして90回目から100回目までのメモリ使用状況の変化を、デベロッパーツールおよびタスクマネージャで確認

キャッシュしない場合:
Nodesの増加を確認できたが、ヒープサイズ(メモリ使用量)に主だった変化(20M〜30M)はなく、タスクマネージャで見ても試行回数に比例するような目に見えた増加はなし。

キャッシュした場合:
上記に加えてNodesの増加もなし。

あと考えられるのは、本体のバージョンでしょうか。
こちらは最新版で(1.6.2)で確認しています。
K
kiri2132
ご確認ありがとうございます!
うーん…それでも再現できないとなると何が原因なんでしょうね…
本体のバージョンも確認しましたが最新版で、自分のパソコンで同じこと(APNGの表示と消去を100回試行)をしましたが、メモリ使用量が200M→1300Mと異常な増え方をして再起動しない限りは時間が立っても戻る気配はなかったです。
K
kiri2132
起動しているアプリ等もプロセス終了してやってみましたが同じことでした。
また、手元にある他のノートパソコンにパッケージで出力して同じことをやってみましたがそちらでも全く同じこと起こってトリアコンタンさんの方では再現できない分さらにわからなくなっちゃいました……
K
kiri2132
ノートパソコンとメインのパソコンで共通してることはwindows10で64bitってくらいでしょうか
トリアコンタンさんのほうも同じ感じでしょうか?
K
kiri2132
全部キャッシュすればとりあえずは出来ますが、なぜかそれも古いAPNGのキャッシュが消えずにたまり続けてしまい長時間プレイすると確実に重くなってしまいます。
その画像キャッシュをゲームプレイ中にクリアしてメモリ解放できれば問題ないのですが…
トリアコンタン
トリアコンタン
キャッシュありにした場合に取得した画像情報が解放されないのはプラグインの仕様です。
表示時の硬直をなくしたい画像に限り、限定的に使用することを想定しています。
トリアコンタン
トリアコンタン
また、検証はWindows 10 64bitのおよびMac OSで実施しています。
K
kiri2132
むぅ…なるほど……
そのあたりはどうしようもなさそうですね。
あと原因と思えるものが思いつかないので、完全に手詰まりですねぇ…
自分の環境だけ起こって他の人がプレイする分には起こらなければ問題ないですが…
K
kiri2132
あと一つ試してほしいことがあるのですが、原因のプロジェクトをこっちの環境でパッケージ化したもので検証をしてほしいのですが大丈夫ですか?

https://29.gigafile.nu/0311-f1511b3954ccb0db16e8e894d5663722c

パスワードは7777です。
このファイルをMVを入れてない友人に送って検証してもらった結果自分と同じことが起こっていたので、トリアコンタンさんの方でもどうなるかを知りたいのでまたお手間取らせてしまいますがよろしくおねがいします…!
トリアコンタン
トリアコンタン
お疲れさまです。
いただいたプロジェクトをもとに検証を進めました。
自働で表示非表示を高速で繰り返すイベントを作り、400回ほど試行を繰り返したところ、こちらの環境でも問題の現象を確認できました。
やはり原因は前述したNodesの増大のようで、こちらの検証では試行回数が単に少なかっただけのようです。

こちらでプラグインを修正しました。これで現象が改善するかどうかお試しください。

1.4.2 2020/03/07 キャッシュしない設定のapngを繰り返し表示、削除し続けるとメモリリークが発生する問題を修正
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/ApngPicture.js
K
kiri2132
お疲れさまです!
先ほど、プラグインをダウンロードし試したところメモリーの増減はなくなっていました!
これで制作を進められます、自分ではどうしようもなかったので本当にありがとうございました…!
今後とも素敵なプラグインの制作頑張ってください!
K
kiri2132
トリアコンタンさん、お疲れさまです。
APNGプラグインの件ではお世話になりました。
あれからも問題なく使用して順調にゲーム作成の方進んでいます。
それでそのプラグイン関連で一つこういうことは出来るのかな?って
疑問に思ったので質問しに来ました。

APNGプラグインを入れるとどうしても初回起動時とAPNG表示時は多少
重くなってしまいます。
ある程度スペックあるパソコンなら何の問題もないですが、プレイする人の中には
スペック不足の人もいると思うので、そういう人たちにも快適にプレイしてもらうために
一時的にプラグインの機能を停止するようなことは可能ですか?

(続く
K
kiri2132
たとえば、指定したスイッチがONの時はAPNGプラグインの機能を停止したり
APNGとしてではなく通常のPNGとして読み込むようにしたり…
理想としては、ゲーム中に特定のスイッチをONにすることでAPNGを通常通りPNGとして読み込むようにし
スイッチがONの間は再起動してもその状態を継続し、初回起動時のAPNGの読み込みもなくなると
スペック不足の人にとっては快適になるかなって思ってます。

自分のゲームのAPNGの量が多いためにプラグインをオンしてるときとオンしてないときでは
メモリー使用量が半分以下に抑えられるので、そういう機能がついてたら今後自分を含めた
APNGプラグインを使った大きめのゲーム制作をする時に便利だなっと思いましたので……

もし実装できそうでしたら嬉しいです。
再びお手数おかけしてしまいますがよければご返信よろしくおねがいします。
トリアコンタン
トリアコンタン
こんにちは!
ご要望について了解しました!

機能追加を検討しますが、現在複数のリクエストを頂いているので対応時期についてはお約束できません。
それでもよろしければ気長にお待ちください。
K
kiri2132
ご返信ありがとうございます!

検討してもらえれるだけでも大変ありがたいです!
いつでも大丈夫ですので、制作しながら気長に待っています…!
K
kiri2132
トリアコンタンさん、こんばんはです。
最近になってAPNGプラグインを使用していて気づいたことがあったのですが
大量にAPNGを読み込ませているとF5でリセットするたびにメモリーがその数だけ増大し
100百枚単位でAPNGの登録していることもあってリセット数回押しただけでメモリリークを起こして
ゲームが落ちてしまうという現象に遭遇しました。
(1回のリセットで大体APNGの容量分増えていく感じでした)

ゲームをリセットするたびに内部でAPNGを読み込んでいると思うのでメモリーは増えるものだと思いますし
実際のところ、APNGプラグインを使用してなくてもリセットを繰り返していればメモリーはある程度
貯まるのも確認はしましたがこればかりはどうしようもないことでしょうか?

MZプラグインの開発及び移行でお忙しいとは思いますので
お時間ある時に返信してもらえれたら幸いです。
宜しくおねがいします!
トリアコンタン
トリアコンタン
こんにちは!
本プラグインはライブラリに依存している部分も多く、対応できるかどうかは不明です。

現象としてはピクチャを一切表示していなくてもタイトル画面でF5を繰り返すだけでメモリが蓄積する……ということでよろしいでしょうか。
K
kiri2132
あ、すみません自己解決できてしまいました…!

パッケージ化した場合はその現象が起こらなかったので、調べていたらトリアコンタンさんの総合開発支援プラグインが
原因だと判明しました。
なので、パッケージ化すると自動的にあれは機能しなくなるのでMV本体でテストプレイしてる時にのみ
起こっているので問題なさそうです。

返答してもらったにもかかわらず申し訳ないです…!
トリアコンタン
トリアコンタン
解決されたようでなによりです!
総合開発支援プラグインの問題ということで、もしテストプレーに大きな支障が出るようでしたら別途調査しますのでその際はまたご一報ください。
K
kiri2132
通しでプレイする時等はプラグインOFFにしたりして作業するので大丈夫だと思います!
返信ありがとうございました!

また、APNGプラグインの追加機能の件、他の作業が一段落つきましたら対応してもらえると幸いです!
APNGピクチャー入れすぎてゲームが完全に完成した時にちょっと人によっては動作きついかな?って
なり始めてしまいましたので……
今後ともMZに移行した際もトリアコンタンさんのプラグインは絶対に使わせてもらいますので
息抜き等しながら自分のペースで開発頑張ってください!
トップ