Unity GPU 프로파일링 가이드
이 문서는 Unity의 GPU 사용 프로파일러 모듈에 대한 개요를 제공합니다. 이 기능은 애플리케이션이 GPU에서 시간을 소비하는 위치를 분석하는 데 도움을 줍니다. 프로파일러는 플레이 모드와 애플리케이션 빌드에서 사용할 수 있으며, Unity 에디터에서는 사용할 수 없습니다.
GPU 프로파일링
사용자는 GPU 프로파일러를 통해 GPU 사용에 대한 통계를 시각적으로 확인할 수 있습니다. 그러나, Player Settings
에서 Graphics Jobs을 활성화하면 GPU 프로파일링이 지원되지 않으므로 주의해야 합니다. 또한, macOS에서는 Mavericks 10.9 이상에서만 GPU를 프로파일링할 수 있습니다.
지원 플랫폼
다음 표는 GPU 사용 프로파일러 모듈이 지원하는 플랫폼을 정리한 것입니다.
플랫폼 | 그래픽스 API | 상태 |
---|---|---|
Windows | DirectX 11, DirectX 12, OpenGL | 지원됨 |
Vulkan | 미지원 | |
macOS | OpenGL | 지원됨 |
Metal | 미지원 | |
Linux | OpenGL core | 지원됨 |
Vulkan | 미지원 | |
WebGL | 모든 WebGL | 미지원 |
Android | OpenGL (NVIDIA 또는 Intel GPU) | 지원됨 |
Vulkan | 미지원 | |
iOS, tvOS | Metal | 미지원 |
Tizen | OpenGL | 미지원 |
- 참고: Windows에서 Unity는 Direct3D 11 및 Direct3D 12 API로만 에디터에서 Playmode 프로파일링을 지원합니다. 이는 플레이어 빌드를 하지 않고 빠른 프로파일링이 가능하지만, 오버헤드로 인해 정확도가 떨어질 수 있습니다.
차트 카테고리
GPU 사용 프로파일러 모듈의 차트는 GPU 타이밍을 조사하기 위한 여러 카테고리로 나뉘어 있습니다. 사용자는 차트 범례에서 카테고리를 드래그하여 순서를 변경하거나 컬러 범례를 클릭하여 표시 여부를 조정할 수 있습니다.
차트 카테고리 | 설명 |
---|---|
Opaque | 불투명 오브젝트 렌더링 시간 |
Transparent | 투명 오브젝트 렌더링 시간 |
Shadows/Depth | 섀도우 맵 렌더링 시간 |
Deferred Lighting | 조명 렌더링 시간 |
PostProcess | 포스트 프로세싱 효과 처리 시간 |
기타 | 스크립터블 렌더링 파이프라인 등 기타 요소 처리 시간 |
모듈 세부 정보 창
GPU 사용 모듈을 선택하면 하단의 세부 정보 창에서 선택된 프레임에서 애플리케이션이 시간을 소비한 위치를 분석할 수 있습니다. 타이밍 데이터는 계층 표로 표시될 수 있으며, 세부 정보 창의 왼쪽 상단 드롭다운을 통해 뷰를 전환할 수 있습니다.
사용 가능한 뷰
뷰 | 기능 |
---|---|
Hierarchy | 내부 계층 구조별로 타이밍 데이터를 그룹화 |
Raw Hierarchy | 타이밍 데이터의 호출 스택과 유사한 계층 구조로 표시 |
계층 구조에서 항목을 선택하면 기여도 분석 정보가 오른쪽 패널에 표시됩니다.
테이블 뷰 열 구성
GPU 사용 프로파일러의 테이블 뷰는 다음과 같은 열로 구성되어 있습니다.
열명 | 기능 |
---|---|
Total | 특정 함수에 소비한 총 시간 (백분율) |
DrawCalls | 이 함수를 호출한 횟수 |
GPU ms | 특정 함수에 소비한 총 시간 (밀리초) |
결론
Unity의 GPU 프로파일러 모듈은 애플리케이션의 GPU 사용을 세밀하게 분석하여 성능 최적화를 위한 인사이트를 제공합니다. 이러한 도구를 활용하면 게임 개발 과정에서의 성능 개선에 크게 기여할 수 있습니다.
추가 자료
- Unity 공식 문서
- 커뮤니티 포럼
- 튜토리얼 비디오
이 문서가 여러분의 Unity 개발에 도움이 되길 바랍니다!