[リストへもどる]
一括表示
タイトルmoaのメモリ
記事No9768
投稿日: 2011/09/14(Wed) 19:21
投稿者26℃
e3dの初期状態のメモリが26,632K
キャラクターAのsigをロード、moaもロードして57,156k
キャラクターAを破棄すると28,546K

となり、2000Kぐらいメモリが残っていました。このぐらいなら気にしないでおくのですが。

さきにキャラクターBをロードしておき(Bは破棄しない)
次にキャラクターAをロードし、キャラクターAを破棄すると
6000Kほどメモリが残ってしまいます。

キャラクターBをロードしたあと、メモリは55,652K
キャラクターAをロードしたあと、85,472k
キャラクターAを破棄した後、61,996k


次に、moaをロードせずにメモリを比べてみると、誤差は1000kにおさまっていたので、moaの破棄などが影響しているのかと思ったのですが
おちゃっこさんは、メモリの破棄についてどう思われますか。

タイトルRe: moaのメモリ
記事No9769
投稿日: 2011/09/14(Wed) 19:38
投稿者26℃
この現象はモデルが2以上よまれているとなるみたいです。
キャラクターAとBはまったく違うモデルでテクスチャも共存させていません。

タイトルRe^2: moaのメモリ
記事No9770
投稿日: 2011/09/14(Wed) 22:25
投稿者おちゃっこ
こんばんは。

試してみました。
確かに削除直後はメモリが残ったように見えますが
30秒ほど待つとちゃんとメモリが減っているようです。
そちらでもちょっと待ってみて結果を確かめてみてください。

タイトルRe^3: moaのメモリ
記事No9771
投稿日: 2011/09/14(Wed) 23:09
投稿者26℃
1分ほど待ってみてもかわらないですね。

タイトルRe^4: moaのメモリ
記事No9772
投稿日: 2011/09/15(Thu) 03:58
投稿者おちゃっこ
おはようございます。

メモリのテストデータを受け取りました。
検証してみました。

この場合も直後はメモリが残りましたが
辛抱強く待っているとどんどんメモリが元に戻ることが確認されました。

Core2Duo3GHzのマシンで8分待つとかなり元に戻ります。
(戻りきるところまで待ちませんでしたが)

この遅さは読み込むモーションの数に関係しているようです。
メモリの確保の仕方があまり連続的ではないので
メモリが断片化していてWindowsのメモリマネージャの処理が遅れるのではないかと
予想しています。

VisualStudioでもメモリリークは検出されないので
メモリマネージャの処理が非常に遅いのが原因ではないかと思います。

タイトルRe^5: moaのメモリ
記事No9773
投稿日: 2011/09/15(Thu) 04:48
投稿者おちゃっこ
こんにちはー。

前言撤回します!!

RokDeBone2をデバッグビルドで実行したら
メモリリークが出てきました。

これから直します。
しばらくお待ちください。

タイトルRe^6: moaのメモリ
記事No9774
投稿日: 2011/09/15(Thu) 05:11
投稿者おちゃっこ
こんにちはです。

RokDeBone2のメモリリークの原因は
ナゾビさんのNekomimisaber.dllでした。
(ナゾビさんのブログの件はこのことだったんですね)

というわけでやはり
メモリの断片化とメモリマネージャの遅さが原因の可能性が高いです。

タイトルRe^7: moaのメモリ
記事No9775
投稿日: 2011/09/15(Thu) 11:32
投稿者26℃
検証ありがとうございます。
おちゃっこさんのPCで8分かかりましたか。
メモリの断片化が原因そうですね、この仕様?を含めてメモリに気をつけて制作したいと思います。