UnityでEmotePlayer生成時に確保したメモリについて

main BBS フォーラム システム・仕様系Q&A UnityでEmotePlayer生成時に確保したメモリについて

このトピックには1件の返信が含まれ、2人の参加者がいます。1 週、 4 日前 emote_ofc さんが最後の更新を行いました。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #7242 返信

    なゆた

    お世話になります。

    UnityでEmotePlayerを生成した時にメモリをその分確保した後、
    確保したメモリを減らすことは可能なのでしょうか?
    それとも、動的生成したM2PSBFileを削除した場合に、使用メモリが減るのでしょうか?

    生成したEmotePlayerを全部UnloadDataしDestroyして、EmoteDeviceManagerでUnloadを行いましたが、使用メモリが減りません。
    どうすればよいか、方法がわからずに困っております。

    Unityのバージョンは、2017.1.0p4
    プラットフォームはWebGLです。

    どうぞ、よろしくお願い致します。

    #7290 返信

    emote_ofc
    キーマスター

    E-moteへご質問いただき誠にありがとうございます。

    UnityのMONOフレームワークは一旦取得したメモリは開放しても総メモリ量は減らない構造になっておりますため、プレイヤの破棄後にその場でメモリ使用量が減らない現象自体は問題ございません。

    —————————–
    詳細:
    ・MONOフレームワークでは一旦使用されたメモリ上限は減らない
    Unityで使用されているMONOフレームワークでは、確保されたメモリ領域が解放されても、一旦増えた「メモリ上限」はそこから減ることはありません。
    これは単なる見た目上の問題で、実際には新たにメモリを確保する際には解放済みの領域が使用されるため問題はありません。

    ・一部のアセットの解放タイミングはシーンをまたぐ
    EmotePlayerの生成・破棄を繰り返すとメッシュとマテリアルの総数が増えていきますが、これもUnityの仕様です。
    これらのアセットはシーンを移動するタイミングで自動的に解放されます。
    どうしても気になる場合には、Resources.UnloadUnusedAssets() を実行することで明示的にアンロードすることが出来ます。
    —————————–

2件の投稿を表示中 - 1 - 2件目 (全2件中)
返信先: UnityでEmotePlayer生成時に確保したメモリについて
あなたの情報:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre> <em> <strong> <del datetime=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">