
프로파일링 및 디버깅용 툴
원활한 성능은 다양한 장치와 플레이어에게 도달하는 훌륭한 게임 경험을 만드는 데 필수적입니다. Unity는 Unity 개발자가 대상 플랫폼에서 사용할 수 있는 기본 프로파일링 도구와 함께 사용할 수 있는 프로파일링 및 메모리 관리 도구의 전체 세트를 제공합니다.
이 기사에서는 Unity와 대상 플랫폼에서 사용할 수 있는 프로파일링 및 디버깅 도구에 대한 개요를 제공합니다.
여기 있는 정보는 무료로 다운로드할 수 있는 Unity 게임 프로파일링에 대한 궁극적인 가이드 (Unity 6판), 에서 발췌한 것입니다. 이 전자책은 게임 개발, 프로파일링 및 최적화 분야의 외부 및 내부 Unity 전문가들이 공동으로 작성했습니다.
Unity와 네이티브 툴을 모두 사용하여 최고의 성과를 창출할 수 있습니다.
슬림하고 성능이 뛰어난 코드와 최적화된 메모리 사용은 저가 및 고가 장치에서 더 나은 사용자 경험으로 이어집니다. 이는 저가 장치에서 더 많은 사용자에게 도달하기 위해 열과 배터리 소비를 해결하는 것부터, 플레이어의 편안함 수준, 궁극적으로 더 높은 채택 및 유지율을 유도하는 요소에 이르기까지 모든 것에 적용됩니다. 배포 플랫폼 사양을 통과하는 데 필요할 수도 있습니다. 프로파일링은 탐정 작업과 같으며, 애플리케이션 성능이 저하되는 이유나 코드가 과도한 메모리를 할당하는 이유의 미스터리를 풀어냅니다.
프로파일링에서 가장 큰 이익은 프로젝트 개발 생애 주기 초기에 계획할 때 발생합니다. 이는 지속적인 능동적이고 반복적인 과정입니다. 게임을 출시하기 직전에만 프로파일링하는 것이 아니라, 조기에 자주 프로파일링함으로써, 당신과 팀은 프로젝트에 대한 '성능 서명'을 이해하고 설정할 수 있습니다. 예를 들어 성능이 급락하면, 문제가 발생한 시점을 쉽게 파악하고 신속하게 문제를 해결할 수 있습니다.
가장 정확한 프로파일링 결과는 대상 장치에서 빌드를 실행하고 프로파일링할 때 얻어지며, 각 대상 플랫폼의 하드웨어 특성을 파고들기 위해 플랫폼별 도구를 사용하는 것입니다.
Unity는 에디터 내부 및 하드웨어에서 코드 분석 및 최적화를 위해 자유롭고 강력한 프로파일링 툴들을 제공합니다. 주요 플랫폼 소유자가 제공하는 것과 같은 각 대상 플랫폼을 위해 설계된 여러 훌륭한 기본 프로파일링 도구도 있습니다. 두 가지를 조합하여 사용하면 모든 대상 장치에서 애플리케이션 성능에 대한 보다 전체적인 관점을 제공합니다.

Unity 프로파일링 툴
Unity의 프로파일링 도구는 에디터와 패키지 관리자를 통해 사용할 수 있습니다. 이 도구들은 Unity 프레임 디버거와 함께 전자책 Unity 게임 프로파일링에 대한 궁극적인 가이드 (Unity 6판)에서 더 자세히 다루어집니다.
- Unity 프로파일러는 Unity 에디터와 Play 모드 또는 개발 모드에서 장치에 연결된 상태에서 애플리케이션의 성능을 측정합니다.
- 프로파일링 코어 패키지는 Unity 프로파일러 캡처에 컨텍스트 정보를 추가하는 데 사용할 수 있는 API를 제공합니다.
- 메모리 프로파일러는 게임이 사용하는 메모리 양과 어떤 객체가 그것을 사용하는지에 대한 심층 분석을 제공합니다.
- 프로파일 분석기는 두 개의 프로파일링 데이터 세트를 나란히 비교하여 변경 사항이 애플리케이션 성능에 미치는 영향을 분석할 수 있게 해줍니다.
- 프로젝트 감사자는 프로젝트의 스크립트, 자산 및 코드에 대한 통찰력과 문제를 보고하며, 이 중 많은 부분이 성능과 관련이 있습니다.
Unity는 또한 프로파일링 도구 모음을 보완하는 여러 디버깅 도구를 제공합니다. 예를 들어, 렌더링 디버거의 디스플레이 통계 패널은 에디터가 연결되지 않은 개발 빌드에서 제한된 성능 수치 및 마커(CPU + GPU)를 볼 수 있게 해줍니다.

네이티브 프로파일링 툴
안드로이드 / ARM
- 안드로이드 스튜디오: 최신 안드로이드 스튜디오는 이전 안드로이드 모니터 도구를 대체하는 새로운 안드로이드 프로파일러를 포함합니다. 이를 사용하여 안드로이드 장치의 하드웨어 리소스에 대한 실시간 데이터를 수집합니다.
- ARM 성능 스튜디오: ARM 하드웨어에서 실행되는 장치를 위해 게임을 프로파일링하고 디버깅하는 데 도움이 되는 도구 모음입니다.
- 스냅드래곤 프로파일러: 스냅드래곤 칩셋 장치 전용입니다. CPU, GPU, DSP, 메모리, 전력, 열 및 네트워크 데이터를 분석하여 성능 병목 현상을 찾고 수정하는 데 도움을 줍니다.
인텔
- 인텔 VTune: 이 도구 모음을 사용하여 인텔 플랫폼에서 성능 병목 현상을 신속하게 찾아 수정하십시오. 인텔 프로세서 전용입니다.
- 인텔 GPA 모음: 게임의 성능을 개선하기 위해 문제 영역을 신속하게 식별하는 데 도움이 되는 그래픽 중심 도구 모음입니다.
Xbox / PC
- PIX: PIX는 DirectX 12를 사용하는 Windows 및 Xbox 게임 개발자를 위한 성능 조정 및 디버깅 도구입니다. CPU 및 GPU 성능을 이해하고 분석하는 도구와 다양한 실시간 성능 카운터를 모니터링하는 도구가 포함되어 있습니다.
PC / 유니버설
- AMD μProf: AMD uProf는 AMD 하드웨어에서 실행되는 애플리케이션의 성능을 이해하고 프로파일링하기 위한 성능 분석 도구입니다.
- NVIDIA NSight: 개발자가 NVIDIA의 최신 비주얼 컴퓨팅 하드웨어를 사용하여 업계 최고의 소프트웨어를 구축, 디버깅, 프로파일링 및 개발할 수 있도록 하는 도구입니다.
- Samply: Samply는 Firefox 프로파일러를 UI로 사용하는 오픈 소스 명령줄 CPU 프로파일러입니다. macOS, Linux 및 Windows에서 작동합니다.
- Superluminal: Superluminal은 C++, Rust 및 .NET으로 작성된 Windows, Xbox One 및 PlayStation에서 애플리케이션을 프로파일링하는 것을 지원하는 고성능, 고주파 프로파일러입니다. 유료 제품이며 사용하려면 라이센스가 필요합니다. 시작하는 방법에 대한 간단한 소개는 토론 기사를 확인하세요.
PlayStation
- CPU 프로파일러 도구는 PlayStation 하드웨어에서 사용할 수 있습니다. 자세한 내용은 등록된 PlayStation® 개발자여야 하며, 여기서 시작하세요.
iOS
- Xcode Instruments 및 XCode 프레임 디버거: Instruments는 Xcode 도구 세트의 일부로 강력하고 유연한 성능 분석 및 테스트 도구입니다.
WebGL
- Firefox Profiler: Firefox Profiler를 사용하여 Unity WebGL 빌드(기타 등등)의 호출 스택을 파고들고 플레임 그래프를 볼 수 있습니다. 또한 프로파일링 캡처를 나란히 비교할 수 있는 도구도 있습니다.
- Chrome DevTools 성능: Unity WebGL 빌드를 프로파일링하는 데 사용할 수 있는 또 다른 웹 브라우저 도구입니다.

GPU 디버깅 및 프로파일링 도구
Unity Frame Debug 도구가 CPU에서 전송된 드로우 호출을 캡처하고 설명하는 동안, 다음 도구는 GPU가 이러한 명령을 수신할 때 수행하는 작업을 보여주는 데 도움이 될 수 있습니다.
일부는 플랫폼별이며 더 밀접한 플랫폼 통합을 제공합니다. 관심 있는 플랫폼과 관련된 도구를 살펴보세요:
- Arm Streamline: Arm의 성능 스튜디오 소프트웨어 제품군의 일부로, CPU 및 GPU의 저오버헤드 성능 측정에 중점을 둡니다.
- Arm Frame Advisor: Arm의 성능 스튜디오 소프트웨어 제품군의 일부로, 프레임 기반 API 프로파일링에 중점을 둡니다.
- RenderDoc: 데스크탑 및 모바일 플랫폼을 위한 GPU 디버거, 프레임 기반 API 디버깅에 중점을 둡니다.
- 인텔 GPA: 인텔 기반 플랫폼을 위한 그래픽 프로파일링
- 애플 프레임 캡처 디버깅 도구: 애플 플랫폼을 위한 GPU 디버깅
- 비주얼 스튜디오 그래픽 진단: 윈도우 또는 엑스박스와 같은 DirectX 기반 플랫폼에 대해 이와/또는 PIX를 선택하세요.
- NVIDIA Nsight 프레임 디버거: NVIDIA GPU를 위한 OpenGL 기반 프레임 디버거
- AMD 라데온 개발자 도구 모음: AMD GPU를 위한 GPU 프로파일러
- Xcode 프레임 디버거: iOS 및 macOS용입니다.

Unity 베스트 프랙티스 허브에서 고급 Unity 개발자 및 제작자를 위한 더 많은 베스트 프랙티스와 팁을 찾을 수 있습니다. 산업 전문가, Unity 엔지니어 및 기술 아티스트가 만든 30개 이상의 가이드 중에서 선택하여 Unity의 도구 세트 및 시스템을 효율적으로 개발하는 데 도움을 받을 수 있습니다.