기술 자료

Unity Engine

Unity Engine

플레이어의 메모리 카운터에 액세스

Display memory metrics in a built player.
읽는 시간 1분최근 업데이트: 한 달 전

플레이어에서 ProfilerRecorder API를 사용하여 Memory Profiler 모듈의 카운터에 액세스할 수 있습니다.
다음 예시에는 Total Reserved Memory, GC Reserved Memory, System Used Memory 지표를 수집하고 이를
GUI.TextArea
로 표시하는 간단한 스크립트가 포함되어 있습니다. Memory Profiler 모듈 정보는
ProfilerCategory.Memory
프로파일러 범주에 속합니다.
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 모듈 에디터를 사용하여 차트를 설정하십시오.
코드에 프로파일러 정보를 추가하는 방법에 대한 자세한 내용은 코드에 프로파일링 정보 추가를 참조하십시오.

추가 리소스