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 개발에 도움이 되길 바랍니다!

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA