어드레서블 프로파일러 모듈
어드레서블 프로파일러는 어드레서블에서 어떤 콘텐츠가 로드되는지를 확인하는 데 사용할 수 있는 Unity 에디터 프로파일러 모듈입니다.
선행 조건
- 기본 프로파일러 사용은 Unity 2021 이상 버전에서 지원됩니다. 자세한 프로파일러 정보를 보려면 2022.2 이상 버전을 사용해야 합니다. 이 기술 자료의 모든 정보는 에디터 버전 2022.2에 대한 것입니다.
- 빌드 보고서가 활성화되어 있어야 하며 프로파일링 중인 런타임에 빌드 보고서가 필요합니다. 빌드 보고서를 활성화하려면 에디터의 환경 설정으로 이동하여 Addressables preferences를 선택한 다음 Debug Build Layout을 활성화합니다.
- 실행 중인 콘텐츠에 대한 정보를 수집하려면 디버그 빌드 레이아웃을 위한 빌드 시간 데이터 컬렉션 정보가 필요합니다. 이 파일은
<Project Directory>/Library/com.unity.addressables/buildReports
폴더에 저장됩니다. 빌드할 때마다 이 디렉토리에 새로운 빌드 보고서 파일이 생성됩니다. 프로파일러를 실행할 때 프로파일러 타겟에서 들어오는 모든 프로파일러 데이터가 동기화되고buildReports
폴더에서 해당 런타임에 대한 빌드 보고서 파일을 찾습니다. 빌드 보고서가 존재하지 않는 경우(예: 프로젝트가 다른 머신을 사용하여 빌드된 경우) 프로파일러는 해당 데이터에 대한 정보를 표시하지 않습니다. Find in file system을 선택하면 파일 선택 창이 열리고, 이 창을 사용하여 디스크의 다른 위치에서 빌드 보고서 파일을 찾을 수 있습니다. - 프로파일러를 실행하려면 Unity Profiling Core API 패키지가 필요합니다. 이 패키지를 설치하려면 패키지 관리자를 사용하거나 Debug Build Layout을 활성화할 때 Addressables preferences 창을 사용합니다.
- 프로파일러 모듈은 플레이 모드 스크립트 **Use Asset Database (Fastest)**를 지원하지 않습니다. 콘텐츠는 Use Existing Build 기반 플레이 모드 스크립트를 사용하여 빌드해야 합니다.
프로파일러 모듈 열기
어드레서블 프로파일러를 열려면 다음 단계를 따르십시오.
- 프로파일러 창(Window > Analysis > Profiler)을 엽니다.
- 프로파일러 창의 우측 상단에서 Profiler Modules 라고 레이블이 지정된 드롭다운 버튼을 선택합니다.
- Addressable Assets 라는 옵션을 활성화합니다.
모듈 보기
모듈 뷰를 사용하면 특정 프레임에 로드되는 에셋 번들, 에셋, 씬 및 카탈로그의 수를 관찰할 수 있습니다.
다음 스크린샷은 하나의 카탈로그에서 3개의 에셋과 1개의 씬, 6개의 에셋 번들을 표시합니다.
프레임을 선택하면 세부 정보 창에 해당 프레임에 대한 정보가 표시되고 로드된 콘텐츠에 대한 트리 뷰가 표시됩니다.
표시되는 콘텐츠를 변경하려면 세부 정보 창의 툴바 드롭다운 버튼 View를 선택합니다. 다음과 같은 옵션이 있습니다.
- Groups: 트리 뷰에 그룹을 포함합니다.
- Asset Bundles: 트리 뷰에 에셋 번들을 포함합니다.
- Assets: 트리 뷰에 에셋을 포함합니다.
- Objects: 에셋 내에 로드된 오브젝트를 포함합니다.
- Assets not loaded: 로드된 번들에 있지만 실제로 로드되지는 않은 에셋을 표시합니다.
세부 정보 창에는 두 개의 영역이 있습니다. 왼쪽에는 콘텐츠의 트리 뷰가 있습니다. 여기에서는 로드된 콘텐츠를 표시하며, 이를 확장하여 상세 콘텐츠를 표시할 수 있습니다. 오른쪽에는 트리 뷰에서 선택한 콘텐츠에 대한 세부 정보를 표시하는 세부 정보 인스펙터가 있습니다.
콘텐츠 트리 뷰
환경 설정에 따라 Tree View 열을 활성화 또는 비활성화할 수 있습니다. 상황에 따라 Tree View 헤더를 클릭하면 사용 가능한 열의 목록이 표시됩니다.
각 열은 행의 콘텐츠에 따라 정보를 표시합니다.
열 | 설명 |
---|---|
Name | 유형에 따라 다음 중 하나를 표시합니다. - 그룹 이름 - 에셋 번들 파일 이름 - 에셋 주소, 주소가 사용되지 않는 경우 에셋 경로 - 오브젝트 이름 또는 씬의 에셋 유형 |
Type | 에셋 또는 오브젝트의 유형입니다. |
Handles | 콘텐츠가 실제로 포함된 어드레서블 핸들의 수입니다. 이를 레퍼런스 수라고도 합니다. 로드하는 동안에는 콘텐츠에 대한 추가 핸들이 있습니다. |
Status | 콘텐츠는 다음과 같은 상태가 될 수 있습니다. - Queued: 에셋 번들이 다운로드 대기열에 있습니다. - Downloading: 에셋 번들이 다운로드 중입니다. - Loading: 콘텐츠가 백그라운드에서 로드되고 있습니다. - Active: 콘텐츠가 로드되었으며 사용 중입니다. - Released: 콘텐츠가 해제되었으며 콘텐츠에는 활성 핸들이 더 이상 없지만, 메모리에는 있을 수 있습니다. 자세한 내용은 메모리 관리를 참조하십시오. |
% | Status가 Downloading 또는 Loading인 경우 다운로드 또는 로드 작업의 진행률을 백분율로 표시합니다. |
Source | 에셋 번들이 어디에서 로드되었는지 표시합니다. - Local: 디스크의 로컬 파일에서 로드됩니다. - Cache: 이전에 다운로드하여 디스크에 캐시한 후 캐시된 파일에서 로드했습니다. - Download: 에셋 번들을 캐시하지 않았으며 다운로드해야 합니다. |
Refs By | 이 콘텐츠를 참조하는 요소 수입니다. |
Refs To | 이 콘텐츠가 참조하는 요소 수입니다. |
해제된 에셋
어드레서블에서 콘텐츠가 해제되면 에셋 번들의 모든 콘텐츠가 해제될 때까지 메모리에 남아 있을 수 있으며, 에셋 번들 내의 에셋에 종속된 다른 에셋 번들도 해제됩니다.
해제된 콘텐츠는 콘텐츠 트리 뷰에서 희미하게 표시되거나 회색으로 표시됩니다. 어드레서블이 메모리를 관리하는 방법에 대한 자세한 내용은 메모리 관리를 참조하십시오.
콘텐츠 필터링
세부 정보 창의 검색 창을 사용하여 콘텐츠 이름을 필터링할 수 있습니다. 검색 필터 구문을 사용하여 다른 콘텐츠를 찾을 수 있습니다.
- Handles:
h
- Type:
assetType
,t
- Status:
s
- RefsTo:
rt
,r
- RefsBy:
rb
,p
- Source:
bundlesource
,bs
,b
필터 구문은 <tag>:<evaluation>
이며, 여기에서 필드는 숫자 필드입니다(예: handles:3
). 기본 등호는 =
입니다. 숫자 앞에 >
또는 <
기호를 포함하여 더 크거나 작은 숫자를 표시할 수 있습니다(예: Handles:>2
).
공백 없이 열 이름을 사용하거나 단축 태그를 사용하여 필터링할 수 있습니다.
유형 필터를 사용하여 포함 유형별로 필터링할 수도 있습니다. 에셋이 어드레서블을 통해 그룹에 명시적으로 포함된 경우 explicit
를, 다른 에셋이 레퍼런스를 포함했기 때문에 에셋 번들에 포함된 경우 implicit
를 사용합니다. type:explicit
를 예시로 들 수 있습니다.
콘텐츠 세부 정보 검사
어드레서블 프로파일러 모듈에서 콘텐츠를 선택하면 인스펙터는 다음과 같이 콘텐츠에 대한 상세 정보를 표시합니다.
Selected content in the Inspector
섹션 | 설명 |
---|---|
Selection Details (A) | 에셋의 소스, 로드 경로, 압축 및 그룹을 포함한 세부 정보를 포함합니다. |
Help (B) | 의도하지 않은 설정에 대한 힌트가 포함된 정보를 제공합니다. |
References (C) | 다른 에셋 번들과 주고받는 레퍼런스에 대한 정보를 포함합니다. |