ドキュメント

Unity Engine

Unity Engine

プレイヤーでのメモリカウンターへのアクセス

Display memory metrics in a built player.
読み終わるまでの所要時間 3 分最終更新 1ヶ月前

ProfilerRecorder API を使用して、プレイヤーで Memory Profiler モジュールのカウンターにアクセスすることができます。
以下の例には簡単なスクリプトが含まれています。これにより、Total Reserved Memory、GC Reserved Memory、System Used Memory の指標を収集し、それらを
GUI.TextArea
として表示します。Memory Profiler モジュールの情報は、
ProfilerCategory.Memory
Profiler カテゴリに属します。
using System.Text;using Unity.Profiling;using UnityEngine;public class MemoryStatsScript : MonoBehaviour{ string statsText; ProfilerRecorder totalReservedMemoryRecorder; ProfilerRecorder gcReservedMemoryRecorder; ProfilerRecorder systemUsedMemoryRecorder; void OnEnable() { totalReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "Total Reserved Memory"); gcReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "GC Reserved Memory"); systemUsedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "System Used Memory"); } void OnDisable() { totalReservedMemoryRecorder.Dispose(); gcReservedMemoryRecorder.Dispose(); systemUsedMemoryRecorder.Dispose(); } void Update() { var sb = new StringBuilder(500); if (totalReservedMemoryRecorder.Valid) sb.AppendLine($"Total Reserved Memory: {totalReservedMemoryRecorder.LastValue}"); if (gcReservedMemoryRecorder.Valid) sb.AppendLine($"GC Reserved Memory: {gcReservedMemoryRecorder.LastValue}"); if (systemUsedMemoryRecorder.Valid) sb.AppendLine($"System Used Memory: {systemUsedMemoryRecorder.LastValue}"); statsText = sb.ToString(); } void OnGUI() { GUI.TextArea(new Rect(10, 30, 250, 50), statsText); }}
以下のスクリーンショットは、Tanks! チュートリアルプロジェクトにスクリプトを追加した結果を示しています。

オーバーレイメモリ情報を含む Tanks! チュートリアル

この情報は、Memory Profiler モジュールで使用できる他のハイレベルなカウンターと同様に、リリースプレイヤーで使用できます。選択したメモリのカウンターを Profiler ウィンドウのカスタムモジュールで表示したい場合は、Profiler モジュールエディターを使用してチャートを設定してください。
コードにプロファイラー情報を追加する方法の詳細については、コードへのプロファイリング情報の追加を参照してください。

追加リソース