★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて<b class="Bold"><u><a href="https://creatorsforum.live2d.com/" target="_blank">新Live2D公式クリエイターズフォーラム</a></u></b>に移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
<a href="https://creatorsforum.live2d.com/" target="_blank"><img src="https://global.discourse-cdn.com/business4/uploads/live2dtest/original/2X/1/1eb8f7d15371141dd0d79e2bbc57d5d8c92cf3a1.png" width="400" height="200" alt="Live2D公式クリエイターズフォーラム"></a>

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。

UtlDebug メモリリーク検出について

DirectXのSDKにてメモリリークが起こっているか確認していたところで気付いた点がありました

SDK内部で恐らく動的確保した時にカウントを取り、開放した時点でそのカウントを減らしてリークを検出しているのでしょうか?
時折、local malloc count : remainingとallocator malloc count : remainingが-1になります

これはモーションを複数読み込んでいた時に気がつきました
MotionQueueManager::startMotionの2つ目の引数autoDeleteをtrueにし、
プログラム終了に全てのモーションデータをDrectX側でdeleteすると必ずこうなってしまうみたいです
autoDeleteをfalseにすると上記の2つのカウントは0になります

-1の時もメモリリークが起きているということなのでしょうか?

コメント

  • autoDeleteをtrueにした場合、内部でモーションをdeleteしているので、アプリ側でdeleteする必要はありません。
コメントするにはサインインまたは登録して下さい。