Unity는 다양한 성능 관련 도구와 API를 제공합니다. 이러한 도구를 사용하여 성능 측정항목을 측정 및 모니터링하고, 디스플레이 새로고침 빈도를 지정하고, 장면이 프레임별로 렌더링되는 방식을 분석할 수 있습니다.
성능 측정항목 측정 및 모니터링
Unity OpenXR: Android XR 패키지는 앱을 모니터링하고 최적화하는 데 사용할 수 있는 포괄적인 성능 데이터를 제공합니다.
성능 측정항목 API를 통해 이러한 측정항목에 액세스할 수 있습니다.
이점
- 메모리 사용량, CPU 및 GPU 성능을 실시간으로 모니터링합니다.
- 컴포지터 및 런타임 레이어의 시스템 통계입니다.
- 최적화 변경사항의 영향을 측정합니다.
최상의 결과를 얻으려면 앱을 작업하고 성능을 조정하는 동안 다음 측정항목을 적극적으로 모니터링하세요.
AndroidXRPerformanceMetrics androidXRPerformanceMetrics = OpenXRSettings.Instance.GetFeature<AndroidXRPerformanceMetrics>();
string values = "";
if (m_Display != null && androidXRPerformanceMetrics != null && androidXRPerformanceMetrics.supportedMetricPaths != null)
foreach (var metric in androidXRPerformanceMetrics.supportedMetricPaths)
{
float stat;
XRStats.TryGetStat(m_Display, metric, out stat);
values += string.Format("{0}: {1:F2}\n", metric, stat);
}
디스플레이 새로고침 빈도 지정
디스플레이 새로고침 빈도를 사용하면 앱이 런타임에서 더 높거나 낮은 프레임 속도를 요청할 수 있으며 시스템은 이를 준수하려고 합니다.
이점
- 장면 복잡성에 따라 새로고침 빈도를 조정합니다.
- 밝은 장면에서 전력 소비를 최적화합니다.
- 앱 요구사항에 동적으로 적응합니다.
이 기능 사용 설정
Unity API를 사용하여 XR_FB_display_refresh_rate
확장 프로그램에 액세스합니다.
72fps, 90fps, 120fps와 같은 프레임 속도를 요청할 수 있으며, 하드웨어에서 처리할 수 있고 열 조건이 허용되는 경우 시스템이 요청된 속도로 전환됩니다.
Unity의 프레임 디버거 사용 설정
프레임 디버거는 장면이 프레임별로 렌더링되는 방식을 분석하는 Unity의 내장 도구입니다. 이 도구는 그리기 호출의 시퀀스를 보여주며 이를 단계별로 실행하여 렌더링 동작을 이해할 수 있습니다.
이점
- 렌더링 병목 현상과 예기치 않은 그리기 호출을 식별합니다.
- SRP Batcher가 올바르게 작동하는지 확인합니다('RenderLoopNewBatcher' 항목을 찾음).
- GPU 상주 드로어 일괄 처리를 확인합니다('하이브리드 일괄 처리 그룹' 항목 참고).
- 렌더링 작업 순서를 이해합니다.
이 기능 사용 설정
- Unity 기본 메뉴에서 Window > Analysis > Frame Debugger를 클릭합니다.
- 사용 설정을 클릭하여 프레임 데이터 캡처를 시작합니다.
- 그리기 호출을 단계별로 실행하여 렌더링되는 항목과 시점을 확인합니다.