Custom Profiler 모듈에서 프레임 타이밍 데이터를 확인하려면 다음을 수행하십시오.
다음 표에서는 Frame Timing Stats를 활성화하면 사용할 수 있게 되는 각 카운터의 용도에 대해 설명합니다.
| 측정 | 설명 |
|---|---|
| 총 CPU 프레임 시간(ms) | 총 CPU 프레임 시간(밀리초)입니다. Unity는 오버헤드나 프레임 사이에 대기하는 시간을 비롯하여 두 프레임의 끝 사이의 시간으로 이를 측정합니다. |
| CPU 메인 스레드 프레임 시간(ms) | 프레임이 시작한 시점에서 메인 스레드가 해당 프레임 중에 수행한 작업을 완료한 시점까지의 시간(밀리초)입니다. |
| CPU 메인 스레드 Present 대기 시간(ms) | 프레임 동안 Present()를 기다리는 데 소요된 CPU 시간입니다. |
| CPU 렌더 스레드 프레임 시간(ms) | 렌더 스레드에서 작업이 시작된 시점부터 Unity가 Present() 함수를 호출하는 시점까지의 시간(밀리초)입니다. |
| GPU 프레임 시간(ms) | 하나의 프레임을 렌더링하는 GPU의 시작과 끝 사이의 시간차(밀리초)입니다. |
타임스탬프 정보에 액세스하려면 FrameTimingManager API를 사용합니다. 각 변수에서 FrameTimingManager는 프레임 중에 특정 이벤트가 발생한 시간을 기록합니다.
다음 표는 API를 통해 사용할 수 있는 값을 Unity가 프레임 중에 실행하는 순서대로 보여줍니다.
| 프로퍼티 | 설명 |
|---|---|
| frameStartTimestamp | 프레임이 시작되는 CPU 클럭 시간입니다. |
| firstSubmitTimestamp | 이 프레임 중에 Unity가 GPU에 첫 번째 잡을 제출하는 CPU 클럭 시간입니다. |
| cpuTimePresentCalled | Unity가 현재 프레임에 대해 Present() 함수를 호출하는 CPU 클럭 시간입니다. |
| cpuTimeFrameComplete | GPU가 프레임 렌더링을 완료하고 CPU를 중단하는 CPU 클럭 시간입니다. |