ぷらしーぼ

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ぷらしーぼ [2022/05/09 16:13]
fumble
ぷらしーぼ [2025/06/21 12:54] (現在)
fumble
行 2: 行 2:
  
 ====概要==== ====概要====
-ダンス中に不要メモリの解放処理((GarbageCollector、GC))を停止させることで、メモリ解放処理由来のかくつきを押さえるプラグイン。+ダンス中に不要メモリの解放処理((GarbageCollector、GC))を停止させることで、メモリ解放処理由来のかくつきを押さえるかもれないプラグイン。
  
 ====ダウンロード==== ====ダウンロード====
 +ver.2系\\
 +https://ux.getuploader.com/fumble_warez/download/156
 +
 +ver.1系\\
 https://ux.getuploader.com/fumble_warez/download/90 https://ux.getuploader.com/fumble_warez/download/90
  
行 17: 行 21:
  (そのため上限を超える時間がある程度発生します、余裕を見て設定してください。)\\  (そのため上限を超える時間がある程度発生します、余裕を見て設定してください。)\\
  
-設定はファイルを直接書き換えるか、プラグイン起動中ならば同梱の設定「ぷ」ろぐむで行えます。\\ +設定はファイルを直接書き換えるか、プラグイン起動中ならば同梱の設定「ぷ」(ver.1系)「ぷし~ぼぢり」(ver.1系)えます。\\
-メモリに余裕がなPCは搭載メモリに合わせてワーキングセットの上限を設定することを推奨します。\\ +
-メモリに余裕があるPCの場合は、ワーキングセットの上限は無制限でも大丈夫です。\\ +
-GC対象メモリの上限は既定で3.75GBに設定しています、メモリが十分に余っている環境も4GBを越るあたりからオダメがメモリ不足で落ちる現象を見ており、こういった設定になっています。\\ +
-こちらを増やす場合は注意してください。なお、あまりに小さい値を設定すると毎秒GCが発生してカクカクになります。\\+
  
 ====注意事項==== ====注意事項====
行 38: 行 38:
 ガベージコレクションは「ながら」処理が行いにくい処理で、Unityでは全体が停止するような動作になります。\\ ガベージコレクションは「ながら」処理が行いにくい処理で、Unityでは全体が停止するような動作になります。\\
  
-===「ぷ」ろぐらむが表示しているメモリについて=== +===「ぷ」ろぐらむや「ぷらし~ぼいぢり」が表示しているメモリについて=== 
-「ぷ」ろぐらむが表示しているメモリは以下の二つ。+「ぷ」ろぐらむがや「ぷらし~ぼいぢり」表示しているメモリは以下の内容
   * ワーキングセット(PSAPIのGetProcessMemoryInfoで取れるもの)、これはOS管理   * ワーキングセット(PSAPIのGetProcessMemoryInfoで取れるもの)、これはOS管理
   * GC対象メモリ(GC.GetTotalMemoryで取れるもの)、これはUnity管理   * GC対象メモリ(GC.GetTotalMemoryで取れるもの)、これはUnity管理
 +  * [ver.2系限定]空き物理メモリ(PSAPIのGetProcessMemoryInfoで取れるもの)、これもOS管理
 +
 ワーキングセットはいわゆるタスクマネージャーで見れるメモリ、簡単に言うと確保しているメモリの中で今使っているメモリ、つまり物理メモリ上に置かれるもの。\\ ワーキングセットはいわゆるタスクマネージャーで見れるメモリ、簡単に言うと確保しているメモリの中で今使っているメモリ、つまり物理メモリ上に置かれるもの。\\
 確保はされているが、ページファイル上に追い出されているものはここには含まれない。\\ 確保はされているが、ページファイル上に追い出されているものはここには含まれない。\\
  
-GC対象メモリ、これはGCが管理しているだいたいのメモリ。\\ +GC対象メモリはGCが管理しているメモリ(らしい)。\\ 
-GC対象メモリが増えると必然的にワーキングセットに置く必要性があるので通常はワーキングセットも増えて行きます。\\+ 
 +GC対象メモリが増えると必然的にワーキングセットに置く必要性があるので最初はワーキングセットも増えて行きます。\\
 その状態でGCが発生するとGC対象メモリで不要だと判断されたものが解放されるので、GC対象メモリは減少します。\\ その状態でGCが発生するとGC対象メモリで不要だと判断されたものが解放されるので、GC対象メモリは減少します。\\
 が、ワーキングセットはこの時点では減りません。ワーキングセットはOS管理でGCは直接どうのこうのしません。\\ が、ワーキングセットはこの時点では減りません。ワーキングセットはOS管理でGCは直接どうのこうのしません。\\
 再度、GC対象メモリが増えた場合、GCが割り当てるメモリはワーキングセット内に(追い出されていなければ)あるはずなので、(既にワーキングセット内にある分は)ワーキングセットは増えずにGC対象メモリが増えていきます。\\ 再度、GC対象メモリが増えた場合、GCが割り当てるメモリはワーキングセット内に(追い出されていなければ)あるはずなので、(既にワーキングセット内にある分は)ワーキングセットは増えずにGC対象メモリが増えていきます。\\
 +
 +PCでメモリ不足になった時に重くなるのは、ワーキングセットから追い出したメモリへのアクセスが発生し((ページフォルト))、戻す((ページイン))ために使われてなさそうなところを追い出し((ページアウト))して、戻す((ページイン))という動作をOSがするためです。\\
 +※追いだしたものがまたすぐ戻さなくてはいけなくなるような、どう考えても悪循環な動作ですよね?\\
 +
 COM3D2.MemEmptyプラグイン(とあるプラグインの制作者 作)が明示的にこのワーキングセットを可能な限りページファイルに吐き出してワーキングセットを縮小するプラグインです。\\ COM3D2.MemEmptyプラグイン(とあるプラグインの制作者 作)が明示的にこのワーキングセットを可能な限りページファイルに吐き出してワーキングセットを縮小するプラグインです。\\
 吐き出した場合、ワーキングセットは一時的に縮小して、使用されるときにまたワーキングセットに戻されます。(この処理はOSレベルで重い処理になります。)\\ 吐き出した場合、ワーキングセットは一時的に縮小して、使用されるときにまたワーキングセットに戻されます。(この処理はOSレベルで重い処理になります。)\\
-ぷらし~ぼではOSレベルのメモリ管理には手を出していません。(手を出す気もないす。)\\+ぷらし~ぼではOSレベルのメモリ管理には手を出していません。(現状、手を出す気はありません。)\\ 
 +※ここに書いていることはすごく簡単に書いています、実際OSはっと複雑処理を行ってて安易に手を出部分ではありません。\\
  
 ====さらに技術的な話==== ====さらに技術的な話====
  • ぷらしーぼ.1652080402.txt.gz
  • 最終更新: 2022/05/09 16:13
  • by fumble