렌더링 디버거
Rendering Debugger 창에서는 다양한 조명, 렌더링 및 머티리얼 프로퍼티를 시각화할 수 있습니다. 이러한 시각화를 통해 렌더링 문제를 식별하고 씬 및 렌더링 구성을 최적화할 수 있습니다.
이 섹션은 다음의 항목에 대해 다룹니다.
Rendering Debugger 창에 액세스하는 방법.
에디터에서, 플레이 모드에서, 그리고 개발 빌드의 런타임 시점에 Rendering Debugger 창에 액세스하는 방법에 대한 정보.
-
Rendering Debugger 창에 있는 요소와 프로퍼티에 대한 설명.
-
런타임 시점에 Rendering Debugger 인터페이스를 탐색하는 방법.
Rendering Debugger 창에 액세스하는 방법
Rendering Debugger 창은 다음 모드에서 이용할 수 있습니다.
에디터.
플레이 모드.
모든 기기에서 스탠드얼론 Unity 플레이어의 런타임 시점. 이 창은 개발 빌드에서만 사용할 수 있습니다.
개발 빌드에서 Rendering Debugger 창을 사용하는 경우 Project Settings > Graphics > URP Global Settings에서 Strip Debug Variants 체크박스를 선택 해제하십시오.
다음 중 한 가지 옵션을 사용하여 Rendering Debugger 창을 열 수 있습니다.
에디터에서:
Window > Analysis > Rendering Debugger를 선택합니다.
Ctrl+Backspace(macOS에서는 Ctrl+Delete)를 누릅니다.
**플레이 모드에서, 또는 개발 빌드의 런타임 시점에:
데스크톱 또는 노트북에서 LeftCtrl+Backspace(macOS에서는 LeftCtrl+Delete)를 누릅니다.
콘솔 컨트롤러에서 L3 및 R3(왼쪽 스틱 및 오른쪽 스틱)을 누릅니다.
모바일 디바이스에서 세 손가락으로 두 번 탭합니다.
enableRuntimeUI 프로퍼티를 사용하여 런타임 UI를 비활성화할 수 있습니다.
Rendering Debugger 창 섹션
Rendering Debugger 창에는 다음 섹션이 포함되어 있습니다.
다음 그림에는 씬 뷰의 Rendering Debugger 창이 나와 있습니다.
Display Stats
Display Stats 패널에는 프로젝트의 성능 문제 디버깅과 관련된 통계가 표시됩니다. Rendering Debugger 창의 이 섹션은 플레이 모드에서만 표시됩니다.
런타임 시점에 씬 뷰에서 [런타임 단축키](#Navigation at runtime)를 사용하여 Display Stats 창을 열 수 있습니다.
Frame Stats
Frame Stats 섹션에는 각 프로퍼티의 평균, 최소값, 최대값이 표시됩니다. HDRP는 최근 30프레임에 대해 각 Frame Stats 값을 계산합니다.
프로퍼티 | 설명 |
---|---|
Frame Rate | 현재 카메라 뷰의 프레임 속도(초당 프레임 수)입니다. |
Frame Time | 현재 카메라 뷰의 총 프레임 시간입니다. |
CPU Main Thread Frame | 프레임 시작 시점부터 메인 스레드가 작업을 완료한 시점까지의 총 시간(밀리초)입니다. |
CPU Render Thread Frame | 렌더 스레드에서 작업이 시작된 시점부터 Unity가 현재 프레임(Gfx.PresentFrame)을 렌더링하기 위해 대기하는 시점 사이의 시간(밀리초)입니다. |
CPU Present Wait | 마지막 프레임 동안 CPU가 현재 프레임(Gfx.PresentFrame)을 렌더링하기 위해 대기한 시간(밀리초)입니다. |
GPU Frame | GPU가 특정 프레임을 렌더링하는 데 걸리는 시간(밀리초)입니다. |
Debug XR Layout | XR 패스에 대한 디버그 정보를 표시합니다. 이 모드는 에디터와 개발 빌드에서만 사용할 수 있습니다. |
Bottlenecks
병목 현상은 한 프로세스가 다른 컴포넌트보다 현저히 느리게 수행되고 다른 컴포넌트가 이에 의존할 때 발생하는 상태입니다.
Bottlenecks 섹션에서는 CPU와 GPU의 마지막 60프레임 분포에 대해 설명합니다. Bottleneck 정보는 기기에서 플레이어를 빌드할 때만 확인할 수 있습니다.
참고: Vsync는 기기 화면의 새로고침 속도에 따라 Frame Rate를 제한합니다. 즉 Vsync를 활성화하면 대부분의 경우 Present Limited 카테고리는 100%입니다. Vsync를 끄려면 Edit > Project settings > Quality > Current Active Quality Level에서 Vsync Count를 Don't Sync로 설정하십시오.
Bottleneck 카테고리
카테고리 | 설명 |
---|---|
CPU | CPU가 프레임 시간을 제한한 마지막 60프레임의 백분율입니다. |
GPU | GPU가 프레임 시간을 제한한 마지막 60프레임의 백분율입니다. |
Present limited | 다음의 표시 제약 조건에 따라 프레임 시간이 제한된 마지막 60프레임의 백분율입니다. • Vertical Sync (Vsync): Vsync가 디스플레이의 새로고침 속도에 렌더링을 동기화합니다. •Target framerate: 애플리케이션의 프레임 속도를 수동으로 제한하는 데 사용할 수 있는 기능입니다. targetFrameRate에 지정된 시간 전에 프레임이 준비되면 Unity는 프레임을 표시하기 전에 대기합니다. |
Balanced | 프레임 시간이 위의 범주에 따라 제한되지 않은 마지막 60프레임의 백분율입니다. 100% Balanced 프레임은 CPU와 GPU의 처리 시간이 거의 같음을 나타냅니다. |
Bottleneck 예제
Vsync가 최근 60프레임 중 20프레임을 제한한 경우 Bottlenecks 섹션은 다음과 같이 표시될 수 있습니다.
- CPU 0.0%: 이는 HDRP가 CPU에서 마지막 60프레임 중 어느 프레임도 렌더링하지 않았음을 나타냅니다.
- GPU 66.6%: HDRP가 렌더링한 최근 60프레임 중 66.6%를 GPU가 제한했음을 나타냅니다.
- Present Limited 33.3%: 표시 제약 조건(Vsync 또는 타겟 프레임 속도)이 마지막 60프레임 중 33.3%를 제한했음을 나타냅니다.
- Balanced 0.0%: 마지막 60프레임 중 CPU 처리 시간과 GPU 처리 시간이 동일한 프레임이 0개였음을 나타냅니다.
이 예제에서 병목 현상은 GPU입니다.
Detailed Stats
Detailed Stats 섹션에는 각 렌더링 단계가 CPU와 GPU에서 걸리는 시간이 밀리초 단위로 표시됩니다. HDRP는 이전 프레임을 기준으로 프레임마다 이 값을 업데이트합니다.
프로퍼티 | 설명 |
---|---|
Update every second with average | 1초 평균값을 계산하여 1초마다 업데이트합니다. |
Hide empty scopes | CPU와 GPU에서 0.00ms의 처리 시간을 사용하는 프로파일링 범위를 숨깁니다. |
Debug XR Layout | XR 패스한 디버그 정보를 표시합니다. 이 모드는 에디터와 개발 빌드에서만 표시됩니다. |
Frequently Used
이 섹션에는 사용자가 자주 사용하는 프로퍼티가 포함되어 있습니다. 이 프로퍼티는 Rendering Debugger 창의 다른 섹션에서 가져온 것입니다. 프로퍼티에 대한 자세한 내용은 Material, Lighting 및 Rendering 섹션을 참조하십시오.
Material
이 섹션의 프로퍼티를 사용하면 다양한 Material 프로퍼티를 시각화할 수 있습니다.
Rendering Debugger 창, Material 섹션
Material Filters
프로퍼티 | 설명 |
---|---|
Material Override | 화면의 모든 게임 오브젝트에서 시각화할 Material 프로퍼티를 선택합니다. 이용 가능한 옵션:
|
Vertex Attribute | 화면에서 시각화할 게임 오브젝트의 버텍스 속성을 선택합니다. 이용 가능한 옵션:
|
Material Validation
프로퍼티 | 설명 |
---|---|
Material Validation Mode | 시각화할 머티리얼 프로퍼티를 Albedo 또는 Metallic 중에서 선택합니다. 이 프로퍼티 중 하나를 선택하면 새 컨텍스트 메뉴가 표시됩니다. |
Validation Mode: Albedo | Material Validation Mode 프로퍼티에서 Albedo를 선택하면 다음 프로퍼티가 포함된 Albedo Settings 섹션이 표시됩니다. Validation Preset: 미리 구성된 머티리얼 또는 기본 밝기를 선택하여 밝기 범위를 시각화합니다. Min Luminance: Unity가 이 값보다 밝기가 낮은 픽셀을 빨간색으로 그립니다. Max Luminance: 이 값보다 밝기가 높은 픽셀을 파란색으로 그립니다. Hue Tolerance: 미리 설정된 머티리얼을 선택한 경우에만 사용할 수 있습니다. Unity가 최소 및 최대 밝기 값에 색조 허용치를 추가합니다. Saturation Tolerance: 미리 설정된 머티리얼을 선택한 경우에만 사용할 수 있습니다. Unity가 최소 및 최대 밝기 값에 채도 허용치를 추가합니다. |
Validation Mode: Metallic | Material Validation Mode 프로퍼티에서 Metallic을 선택하면 다음 프로퍼티가 포함된 Metallic Settings 섹션이 표시됩니다. Min Value: Unity가 이 값보다 메탈릭 값이 낮은 픽셀을 빨간색으로 그립니다. Max Value: Unity가 이 값보다 메탈릭 값이 높은 픽셀을 파란색으로 그립니다. |
조명
이 섹션의 프로퍼티를 사용하면 그림자 캐스케이드, 반사, 메인 광원 및 추가 광원의 기여도 등 조명 시스템과 관련된 다양한 설정 및 요소를 시각화할 수 있습니다.
Lighting Debug Modes
Lighting Debug Modes 하위 섹션.
프로퍼티 | 설명 |
---|---|
Lighting Debug Mode | 디버깅을 위해 화면에 오버레이할 조명 및 그림자 정보를 지정합니다. 사용할 수 있는 옵션은 다음과 같습니다.
|
Lighting Features | 최종 조명 결과에 기여하는 조명 기능에 대한 플래그를 지정합니다. 이를 통해 씬의 특정 조명 기능을 확인하고 디버깅할 수 있습니다. 사용할 수 있는 옵션은 다음과 같습니다.
|
Rendering
이 섹션의 프로퍼티를 사용하면 다양한 렌더링 기능을 시각화할 수 있습니다.
Rendering Debug
Rendering Debug 하위 섹션.
프로퍼티 | 설명 |
---|---|
Map Overlays | 화면에 오버레이할 렌더 파이프라인 텍스처를 지정합니다. 사용할 수 있는 옵션은 다음과 같습니다.
|
Map Size | 오버레이 텍스처의 너비와 높이를 URP가 표시하는 뷰 창의 백분율로 나타낸 값입니다. 예를 들어 값이 50이면 화면의 4분의 1(너비 50%, 높이 50%)을 채웁니다. |
HDR | HDR(High Dynamic Range)을 씬 렌더링에 사용할지 여부를 나타냅니다. 이 프로퍼티를 활성화할 때의 효과는 URP 에셋에서 HDR을 활성화한 경우에만 효과가 있습니다. |
MSAA | 멀티샘플링 안티앨리어싱(MSAA)을 씬 렌더링에 사용할지 여부를 나타냅니다. 이 프로퍼티를 활성화할 때의 효과는 다음과 같은 경우에만 적용됩니다.
|
Post-processing | URP가 포스트 프로세싱을 적용하는 방식을 지정합니다. 사용할 수 있는 옵션은 다음과 같습니다.
|
Additional Wireframe Modes | 씬에서 메시의 와이어프레임을 렌더링할지 여부와 그 방법을 지정합니다. 사용할 수 있는 옵션은 다음과 같습니다.
|
Overdraw | 오버드로우 디버그 뷰를 렌더링할지 여부를 나타냅니다. Unity가 픽셀을 다른 픽셀 위에 그리는 위치를 확인할 때 유용합니다. |
Pixel Validation
Pixel Validation 하위 섹션.
프로퍼티 | 설명 |
---|---|
Pixel Validation Mode | Unity에서 픽셀 컬러 값을 검증하는 데 사용할 모드를 지정합니다. 사용할 수 있는 옵션은 다음과 같습니다.
|
Channels | 픽셀 값 범위 검증에 사용할 값을 지정합니다. 사용할 수 있는 옵션은 다음과 같습니다.
|
Value Range Min | 최소 유효 컬러 값입니다. Unity는 이 값보다 작은 컬러 값을 강조 표시합니다. 이 프로퍼티는 Pixel Validation Mode를 Highlight Values Outside Range로 설정한 경우에만 표시됩니다. |
Value Range Max | 최대 유효 컬러 값입니다. Unity는 이 값보다 큰 컬러 값을 강조 표시합니다. 이 프로퍼티는 Pixel Validation Mode를 Highlight Values Outside Range로 설정한 경우에만 표시됩니다. |
Navigation at runtime
이 섹션에서는 런타임 시점에 Rendering Debugger 인터페이스를 탐색하는 방법을 설명합니다.
현재 활성 항목을 변경하려는 경우:
키보드: 화살표 키를 사용합니다.
터치 화면: 프로퍼티 옆의 화살표를 탭합니다.
Xbox 컨트롤러: 방향 패드(D-Pad)를 사용합니다.
PlayStation 컨트롤러: 방향 버튼을 사용합니다.
현재 탭을 변경하려는 경우:
키보드: Page up 및 Page down 키(MacOS에서는 Fn + Up 및 Fn + Down 키)를 사용합니다.
터치 화면: 탭 제목 옆의 화살표를 탭합니다.
Xbox 컨트롤러: 왼쪽 범퍼와 오른쪽 범퍼를 사용합니다.
PlayStation 컨트롤러: L1 버튼과 R1 버튼을 사용합니다.
현재 활성 항목을 디버그 창과 별도로 표시하려는 경우:
키보드: 오른쪽 Shift 키를 누릅니다.
Xbox 컨트롤러: X 버튼을 누릅니다.
PlayStation 컨트롤러: 사각형 버튼을 누릅니다.