Unity 6.3
0 онлайн 25 гостей 3 в системе
Вход

Доступ к счетчикам памяти в игроках

Вы можете использовать ProfilerRecorder API для доступа к счетчикам модуля Memory Profiler в плеере.

В следующем примере содержится простой скрипт, который собирает показатели Общая зарезервированная память, GC Зарезервированная память и Используемая системная память и отображает их в качестве показателей GUI.TextArea. Сведения о модуле Память 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!.

Танки! Учебник с наложенной информацией о памяти
Танки! Учебник с наложенной информацией о памяти

Эта информация доступна в проигрывателях релиза, как и другие счетчики высокого уровня , доступные в модуле Память Profiler. Если вы хотите просмотреть выбранные счетчики памяти в пользовательском модуле в окне Profiler, используйте редактор модуля Profiler для настройки диаграммы.

Дополнительные сведения о добавлении информации профиля в код см. в Добавление информации профиля в код.

Дополнительные ресурсы