기술 자료

Unity Engine

Unity Engine

프로파일러 창 레이아웃

Reference for the main Profiler window.
읽는 시간 5분최근 업데이트: 한 달 전

프로파일러 창 영역은 다음과 같습니다.
  • Profiler 모듈: 애플리케이션과 관련된 다양한 데이터 유형을 수집하는 모듈을 창에 추가하거나 제거합니다. 각 모듈에는 창의 상단에 고유한 차트가 있습니다.
  • Profiler 컨트롤: 창 상단에는 프로파일링 세션을 중지, 시작 및 탐색하는 데 사용할 수 있는 컨트롤이 있습니다.
  • 모듈 세부 정보 창: 선택한 모듈에 따라 선택한 프레임에 대한 자세한 정보가 프로파일러 창 하단에 표시됩니다.

CPU Usage Profiler 모듈에서 프레임이 선택된 프로파일러 창입니다.

Profiler 모듈

드롭다운을 사용하여 프로파일러에 모듈을 추가하거나 제거합니다. Profiler 모듈은 시간 경과에 따른 성능 데이터를 창 상단의 차트에 프레임 단위로 표시합니다.
Profiler 모듈을 선택하면 해당 차트가 프로파일러 창 상단에 표시됩니다. 창 하단에는 선택한 Profiler 모듈과 관련된 정보가 표시되는 모듈 세부 정보 패널이 있습니다. 프로파일러를 처음 열면 이 영역이 비어 있으며, 애플리케이션을 프로파일링할 때 정보로 채워집니다.
자세한 내용은 Profiler 모듈 소개를 참조하십시오.

모듈

설명

하이라이트애플리케이션이 타겟 프레임 속도를 충족하는지, 그리고 성능이 CPU 또는 GPU 바운드인지에 대한 정보를 표시합니다. 자세한 내용은 Highlights Profiler 모듈을 참조하십시오.
CPU Usage물리, 스크립트, 애니메이션, 가비지 컬렉션 등 애플리케이션이 가장 많은 시간을 소비하는 영역에 대한 개요를 표시합니다. 이 모듈에는 애플리케이션에 대한 광범위한 프로파일링 정보가 포함되어 있으며, 이를 사용하여 애플리케이션의 더 구체적인 문제를 조사하는 데 사용할 추가 모듈을 결정할 수 있습니다. 이 모듈은 종료하더라도 항상 활성 상태입니다. 자세한 내용은 CPU Usage Profiler 모듈을 참조하십시오.
GPU Usage그래픽스 처리와 관련된 정보를 표시합니다. 기본적으로 이 모듈은 오버헤드가 많으므로 활성화되지 않습니다. 자세한 내용은 GPU Usage Profiler 모듈을 참조하십시오.
렌더링Unity가 애플리케이션에서 그래픽스를 렌더링하는 방법에 대한 정보를 표시합니다. 자세한 내용은 Rendering Profiler 모듈을 참조하십시오.
메모리Unity가 애플리케이션에서 메모리를 할당하는 방법에 대한 정보를 표시합니다. 이 모듈은 스크립팅 할당이 어떻게 가비지 컬렉션으로 이어지는지 또는 애플리케이션의 에셋 메모리 사용량이 시간 경과에 따라 어떻게 변하는지 조사하는 데 유용합니다. 자세한 내용은 Memory Profiler 모듈을 참조하십시오.
오디오(Audio)애플리케이션의 오디오 관련 정보(예: 오디오 시스템의 CPU 사용량 요구 사항, Unity가 할당하는 메모리 양)를 표시합니다. 자세한 내용은 Audio Profiler 모듈을 참조하십시오.
Video애플리케이션의 동영상 관련 정보를 표시합니다. 자세한 내용은 Video Profiler 모듈을 참조하십시오.
물리물리 시스템이 처리한 애플리케이션의 물리에 대한 정보를 표시합니다. 자세한 내용은 Physics Profiler 모듈을 참조하십시오.
Physics (2D)애플리케이션에서 물리 시스템이 2D를 물리 처리한 위치에 대한 정보를 표시합니다. 자세한 내용은 2D Physics Profiler 모듈을 참조하십시오.
UIUnity가 애플리케이션의 UI 배칭을 처리한 방식에 대한 정보(예: Unity가 아이템을 배칭하는 이유와 방식)를 표시합니다. 자세한 내용은 UI 및 UI Details Profiler 모듈을 참조하십시오.
UI Details이 모듈의 차트는 배치 및 버텍스 수에 대한 데이터, 그리고 UI 변경을 트리거하는 사용자 입력 이벤트에 대한 정보가 포함된 마커를 추가합니다. 자세한 내용은 UI 및 UI Details Profiler 모듈을 참조하십시오.
실시간 GIUnity가 애플리케이션의 전역 조명 하위 시스템에 소비하는 CPU 리소스 양에 대한 정보를 표시합니다. 자세한 내용은 Global Illumination 프로파일러 창을 참조하십시오.
Virtual Texturing애플리케이션의 가상 텍스처링 스트리밍에 대한 통계를 표시합니다. 자세한 내용은 Virtual Texturing Profiler 모듈을 참조하십시오.
File Access애플리케이션의 파일 액세스에 대한 정보를 표시합니다. 자세한 내용은 File Access Profiler 모듈을 참조하십시오.
Asset Loading애플리케이션이 에셋을 로드하는 방식에 대한 정보를 표시합니다. 자세한 내용은 Asset Loading Profiler 모듈을 참조하십시오.
Profiler Module Editor(⚙)목록에서 프로파일러 모듈을 커스터마이즈하려면 Profiler 모듈 에디터를 엽니다.
Restore DefaultsRestore Defaults를 선택하여 커스텀 Profiler 모듈을 제거하고 모듈 목록을 기본 순서대로 재정렬합니다.

Profiler 컨트롤

Profiler 컨트롤은 프로파일러 창 상단의 툴바 있습니다. 이를 사용하여 프로파일러 데이터 기록을 시작하거나 중지하고 프로파일링된 프레임을 탐색할 수 있습니다.

프로퍼티

설명

Target Selection 드롭다운Target Selection 드롭다운을 사용하여 프로파일러가 데이터를 수집할 플랫폼 또는 플레이어를 선택합니다.
검색검색창을 사용하여 플레이어를 찾습니다. 이름 또는 기기 카테고리를 기준으로 검색할 수 있습니다(예: Remote). 카테고리별로 검색하면 해당 카테고리의 모든 기기가 결과에 표시됩니다.
Player NameUnity가 네트워크를 통해 또는 직접 연결하여 감지하는 실행 중인 플레이어를 표시합니다. 이름과 플레이어를 실행하는 플랫폼(예:
iPhonePlayer (My iPhone)
)으로 이러한 플레이어를 식별할 수 있습니다. Profiler Preferences 창에서 이 이름을 오버라이드할 수 있습니다.
Play Mode(기본값)플레이 모드에서 애플리케이션을 프로파일링합니다. 기본값이지만 Preferences에서 이 동작을 변경할 수 있습니다. 자세한 내용은 플레이 모드에서 성능 데이터 수집을 참고하십시오.
Edit ModeUnity 에디터를 프로파일링하고 에디터가 현재 사용 중인 리소스를 표시합니다. 자세한 내용은 Unity 에디터에 대한 성능 데이터 수집을 참고하십시오.
Direct Connection컴퓨터에 직접 연결된 모든 기기를 표시합니다. 애플리케이션을 프로파일링할 기기의 IP 주소를 수동으로 입력하려면 Enter IP를 선택합니다. 자세한 내용은 타겟 플랫폼의 성능 데이터 수집을 참고하십시오.
Record(⏺)애플리케이션을 실행할 때 활성 모듈에 대한 프로파일링 정보를 기록하려면 이 설정을 활성화합니다. Record가 비활성화되면 애플리케이션을 실행할 때 프로파일러가 데이터를 수집하지 않습니다.
Previous frame(뒤로 가기 화살표)한 프레임이 뒤로 이동합니다.
Next frame(앞으로 가기 화살표)한 프레임이 앞으로 이동합니다.
Current frame(⏭)Current Frame 버튼을 선택하면 프레임 표시줄이 마지막으로 기록된 프레임으로 이동하여 프로파일러가 Current Frame 모드로 전환됩니다. 프로파일러는 이 모드에서 데이터를 수집하는 동안 현재 프레임을 유지하고 수집한 데이터를 실시간으로 표시합니다. 버튼을 다시 선택하면 Current Frame 모드가 종료됩니다.
Frame number선택한 프레임의 수를 나타냅니다. 왼쪽에 있는 숫자는 현재 선택된 프레임이고, 오른쪽에 있는 숫자는 전체 프로파일링 세션 동안 프로파일러가 수집한 총 프레임 수입니다.
Clear프로파일러 창의 모든 데이터를 지웁니다.
Clear on Play이 설정을 활성화하면 다음 번에 플레이어 창에서 Play를 클릭하거나, 새 타겟 디바이스에 연결할 때 프로파일러 창의 모든 데이터가 지워집니다.
Deep Profile모든 C# 메서드를 프로파일링하려면 이 설정을 활성화합니다. 이 설정을 활성화하면 Unity는 모든 모노 호출에 계측을 추가하므로 스크립트를 더욱 자세히 조사할 수 있습니다. 자세한 내용은 딥 프로파일링을 참조하십시오.
Call Stacks메모리 할당 스크립팅을 위한 전체 호출 스택을 기록할 샘플을 선택합니다. 이 옵션을 활성화할 때 프로파일러가 기록하는 프레임에는 전체 호출 스택에서 선택한 샘플에 대한 정보가 있으며, 이 정보는 Deep Profiling 설정이 활성화되어 있지 않은 경우에도 관리되는 스크립팅 할당으로 이어집니다. 다음 값을 선택하고 한 번에 두 개 이상의 선택 항목을 활성화할 수 있습니다.
GC.Alloc모든 관리되는 메모리 할당에 대한 호출 스택을 활성화합니다. Unity는 관리되는 메모리 할당을 수행할 때마다
GC.Alloc
샘플을 방출합니다.
UnsafeUtility.Malloc(Persistent)Allocator.Persistent로 이루어진 네이티브 메모리 할당에 대한 호출 스택을 활성화합니다. Temp 및 TempJop 할당자는 더 빠르지만 수명이 짧은 할당만 허용하고, 가능한 한 빠르게 할당을 유지하기 위해 Unity는 호출 스택으로 계측하지 않습니다.
JobHandle.Complete
JobHandle.Complete
로 완료된 잡에 대한 호출 스택을 활성화합니다. 잡이
Complete
를 사용할 때마다 스레드의 대기 상태가 발생하므로, 코드를 최적화하려면 호출 스택을 활성화하여 코드에서 동기화 지점이 발생한 위치를 확인할 수 있습니다.
Load(정사각형 및 화살표)저장된 프로파일러 데이터를 프로파일러 창에 로드합니다. 또한 플레이어가 작성한 바이너리 프로파일 데이터를 Profiler.logFile API를 통해 파일로 로드할 수도 있습니다.
저장(💾)프로파일러 데이터를 프로젝트 폴더의 .data 파일에 저장합니다.

더 보기(⋮) 메뉴 설정

더 보기 메뉴는 다음 설정을 포함합니다.

설정

설명

Color Blind Mode이 설정을 활성화하면 프로파일러가 그래프에서 더 높은 콘트라스트 컬러를 사용합니다. 이렇게 하면 적록 색맹(예: 제2색맹, 제1색맹, 제3색맹) 사용자들의 가시성을 향상할 수 있습니다.
Show stats for "current" frame기본적으로 Current Frame 버튼을 선택하고 Current Frame 모드로 전환하면 프레임 표시줄에 현재 프레임의 통계가 포함된 주석이 없습니다. 이는 통계 주석으로 인해 데이터를 실시간으로 볼 수 없기 때문입니다. 주석을 표시하려면 이 설정을 활성화합니다.
PreferencesPreferences 창을 열면 프로파일러별 프로퍼티를 조정할 수 있습니다.

추가 리소스