
Profile Analyzer로 게임 최적화(하다)
이 페이지에서는 Unity 및 네이티브 플랫폼 프로파일링 툴에 Profile Analyzer를 추가하는 방법을 뎁스 / 게재되고 있는 광고의 개수 소개합니다.
Profile Analyzer는 전자책인 Unity 게임 프로파일링 최종 가이드(Unity 6 에디션)에서 다루는 여러 기능 중 하나입니다. Unity에서의 애플리케이션 프로파일링, 메모리 관리, 전력 소비 최적화 등에 대한 팁 등 자세한 내용을 유니티 조직 내외부의 전문가들이 모여 이 가이드에 담았습니다.

Profile Analyzer 소개
성능을 개선할 부분이 궁금하신가요? 변경 전후 성능을 비교해야 하나요? Unity 버전 업데이트가 게임에 미치는 영향을 알고 있나요? Profile Analyzer는 이러한 질문에 대한 답변을 제공합니다. 표준 Unity 프로파일러를 사용하면 단일 프레임 분석을 수행할 수 있지만, Profile Analyzer는 Unity 프로파일러 프레임 세트에서 캡처한 프로파일링 마커 데이터를 집계 및 시각화할 수 있습니다.
Profile Analyzer에 대한 개요
표준 Unity 프로파일러는 개별 프레임을 상세하게 분석할 수 있지만, Profile Analyzer는 여러 Unity 프로파일러 프레임에서 캡처한 마커 데이터를 집계하고 시각화하여 더 넓은 '큰 그림' 개요를 제공합니다. 이를 통해 여러 프레임 또는 다양한 프로파일링 세션에서 퍼포먼스 데이터 쉽게 비교하고 분석할 수 있습니다.
Profile Analyzer를 시작하려면 다음 단계를 따르세요.
1. Window > Package Management > Package Manager에서 Profile Analyze 패키지를 설치합니다.
2. Unity Registry로 이동하여 검색 필터를 찾아 Profile Analyzer 패키지를 찾습니다.
Profile Analyzer는 Unity 프로파일러에서 캡처한 프레임 세트를 가져와 통계 분석을 수행합니다. 표시된 데이터는 Min, Max, Mean, Median 타이밍과 같이 각 함수에 유용한 성능 타이밍 정보를 제공합니다.
Profile Analyzer는 데이터 세트를 비교할 때 매우 유용하기 때문에 게임 개발 전반에 걸쳐 프로파일 애널라이저를 사용하여 성능과 최적화 문제를 명확하게 파악할 수 있습니다. 또한 게임 시나리오의 성능 차이를 A/B 테스트하고, 코드 리팩터링 및 최적화, 새로운 기능 또는 Unity 버전 업그레이드를 위한 프로파일링 전후 데이터를 비교할 수도 있습니다.Profile Analyzer를 사용할 때 프로파일링 세션을 저장하여 성능 최적화 작업 전후를 비교하는 것이 유용한 팁입니다.
Profile Analyzer를 사용하면 집중할 부분을 파악할 수 있습니다. 두 가지 Unity 성능 프로파일링 캡처를 나란히 비교하고 변경 사항의 영향을 검사할 수 있습니다.
Profile Analyzer는 Unity 프로파일러에서 이미 사용할 수 있는 단일 프레임 분석을 보완합니다. 다양한 Unity 프로파일러 프레임의 프레임 및 마커 데이터를 집계 및 시각화하여 여러 프레임에 걸쳐 고수준의 성능 오버타임 패턴을 확인할 수 있습니다.
Profile Analyzer는 현재 프로파일러 세션 프레임이나 이전에 저장한 캡처의 여러 프레임에서 CPU 성능 분석을 수행합니다. 캡처에 저장된 정보를 빠르게 파싱하는 데 도움이 되는 통계 및 시각화 툴이 제공됩니다. 또한 전체 필터링 기능을 사용하면 관심이 있는 섹션을 자세히 살펴볼 수 있습니다. 두 데이터 세트를 비교하거나, 원시 데이터를 익스포트하여 다른 툴로 분석할 수 있습니다.
Window > Package Manager에서 Profile Analyzer를 설치할 수 있습니다.

시작하기
먼저 프로파일러를 사용하여 데이터를 캡처한 다음 해당 데이터로 프로파일 분석기를 채워야 합니다.
집계된 데이터를 사용하면 한 번에 하나의 프레임만 확인하는 대신 게임 내 상황을 보다 정보에 입각한 방식으로 확인할 수 있습니다. 예를 들어 300프레임(10초)의 게임플레이 캡처나 20초의 로딩 시퀀스에서 다음을 알아야 할 수 있습니다.
- 메인 스레드와 렌더 스레드의 CPU 비용이 가장 많이 드나요?
- 각 마커의 평균/중앙값/총 비용은 어떻게 되나요?
이러한 필수 질문에 답하면 가장 큰 문제를 찾아 최적화의 우선순위를 정할 수 있습니다.
Profile Analyzer에서 제공하는 통계와 세부 정보를 활용하면 여러 프레임에서 코드를 실행할 때 또는 이전 프로파일 캡처 세션과 비교했을 때 코드의 성능 특성을 더 심도 있게 분석할 수 있습니다.

Profile Analyzer 보기
창 상단에서 모드 선택을 확인합니다. Profile Analyzer에는 프로파일링 데이터를 분석하기 위한 다양한 뷰와 접근 방식이 있습니다. 다양한 뷰를 사용하여 프로파일링 데이터 세트를 선택, 정렬, 조회, 비교할 수 있습니다.

Marker Summary 창

단일 뷰

비교 뷰
Compare 뷰는 성능 배리에이션을 분석하는 데 특히 효과적입니다. 두 개의 서로 다른 데이터 세트를 로드하여 서로 다른 컬러로 표시하여 명확하고 나란히 비교할 수 있기 때문입니다.

성능 변경 사항 비교
다음 단계를 따라 Profile Analyzer를 사용하여 성능 변경 사항을 비교하세요. 활성 Unity 프로파일러 캡처에서 데이터 풀 옵션이나 저장된 세션에서 데이터 로드 옵션을 사용할 수 있습니다. 로딩 시 파일은 Profile Analyzer의 .pdata 포맷이어야 합니다. Unity 프로파일러 .data 파일의 경우 먼저 프로파일러 창에서 열고 프로파일 분석기에서 Pull Data를 사용합니다. 원본 .data 파일을 프로파일러에서 저장하는 것도 좋습니다.
1. 시험 준비: 유의미한 벤치마크 비교를 위해 프로파일링할 게임의 일관된 섹션을 선택하세요. 스크립트화 또는 반복 가능한 수동 플레이를 사용하면 성능에 영향을 미치는 임의의 부작용을 최소화하는 것이 가장 좋습니다.
2. 이전 데이터 캡처:
- Profile Analyzer(Window > Analysis > Profile Analyzer)를 엽니다.
- Unity 프로파일러에서 최적화를 수행하기 전에 선택한 게임플레이의 프로파일링 세션 녹화합니다.
- Analyzer의 Compare 탭에서 첫 번째 Pull Data 버튼을 클릭합니다. 그러면 프로파일러에서 현재 캡처를 로드하거나 세션 저장할 수 있습니다.
3. 최적화(하다) 및 "후" 데이터 캡처:
- 코드를 적용하거나 성능을 개선합니다.
- Unity 프로파일러의 이전 데이터를 지우고 동일한 게임플레이의 새로운 프로파일링 세션 녹화합니다.
- Profile Analyzer에서 두 번째 Pull Data 버튼을 클릭 수 이 새 세션 로드합니다.
4. 차이점 분석:
- 마커 비교 창에서 마커 타이밍이 "전" (왼쪽) 및 "후" (오른쪽) 캡처 사이에 어떻게 다를지 확인할 수 있습니다.
- 또는 >로 표시된 열은 해당 지표의 값이 가장 큰 캡처를 나타냅니다.
- 마커 열 필터를 사용하여 비교되는 지표를 변경할 수 있습니다.
각 마커 비교 열에 대한 자세한 내용은 보기를 비교하기 항목 페이지를 참조하십시오.
중앙 프레임과 가장 긴 프레임 비교
단일 프로파일러 캡처의 중간 프레임과 가장 긴 프레임을 비교하여 두 프로파일러 캡처에서 나타나지 않는 부분을 정확하게 파악하거나 평균보다 많은 시간이 소요되는 부분을 확인할 수 있습니다.
Profile Analyzer Compare 뷰를 열고 왼쪽과 오른쪽 모두에 대해 동일한 데이터 세트를 로드합니다. Single 뷰에서 데이터 세트를 로드한 다음 Compare로 전환할 수도 있습니다.
상단의 프레임 관리 그래프를 오른쪽 클릭하고 중앙 프레임 선택을 선택합니다. 하단 그래프를 오른쪽 클릭하고 최장 프레임 선택을 선택합니다.
Profile Analyzer Marker Comparison 패널이 업데이트되어 차이를 표시합니다.
데이터를 비교하는 또 다른 유용한 트릭은 두 그래프를 프레임 기간별로 정렬하는 것입니다(오른쪽 클릭 수 > 프레임 기간별 순서). 그런 다음 각 세트에서 범위를 선택하여 외부 프레임(불대비하게 길거나 짧은 프레임)을 중점적으로 선택하거나 제외하는 것입니다.
이를 통해 가장 일반적인 프레임과 가장 극단적인 프레임을 비교할 수 있습니다. 그런 다음 선택한 범위에 대한 데이터가 Marker Comparison 테이블에 표시되므로 성능 스파이크나 불일치에 기여하는 요소를 더 쉽게 분석할 수 있습니다.

Profile Analyzer 팁
- 유저. '광고 지면'의 타겟 고객 스크립트(Unity 엔진 API 레벨 무시)를 살펴보면 광고 / 게재되고 있는 광고의 개수 레벨을 선택하면 4입니다. 이 레벨로 필터링하고 타임라인 모드에서 Unity 프로파일러를 확인한 후 여기에서 호출 스택의 광고의 개수를 연결하여 선택할 수 있습니다. MonoBehaviour 스크립트는 네 번째 레벨 아래에 파란색으로 표시됩니다. 이를 통해 특정 로직과 게임플레이 스크립트가 다른 '노이즈' 없이 스스로 부담을 받는지 빠르게 확인할 수 있습니다.
- 애니메이터 또는 엔진 물리와 같은 Unity 엔진의 다른 영역에 대한 데이터를 동일한 방식으로 필터링합니다.
- 오른쪽의 프레임 요약 섹션에서 강조 표시된 메서드의 성능 범위 히스토그램을 찾을 수 있습니다. Max Frame 번호(Max Timing이 발견된 정확한 프레임) 위에 마우스 커서를 올려 Unity 프로파일러에서 선택한 프레임을 확인할 수 있는 클릭 가능한 링크를 가져옵니다. 이 뷰를 사용하여 최대 프레임 시간에 기여할 수 있는 다른 요인을 분석할 수 있습니다.
- 와이드스크린 또는 두 개의 모니터를 사용할 수 있는 경우 Profile Analyzer와 Unity Profiler를 나란히 열면 유용할 수 있습니다. 이 설정을 사용하면 Profile Analyzer에서 프레임을 더블 클릭하여 Unity 프로파일러에서 동일한 프레임을 자동으로 선택하여 타임라인 또는 계층 구조 뷰를 사용하여 더 자세히 조사할 수 있습니다.
이 리소스를 통해 프로파일러 분석기에 대해 자세히 알아보기:
- Profile Analyzer 워크스루 & 튜토리얼
- Unity의 Profile Analyzer를 사용한 CPU 성능 분석
- 프로파일링 소개

Unity 베스트 프랙티스 허브에서 고급 Unity 개발자 및 크리에이터를 위한 다양한 베스트 프랙티스와 팁을 확인할 수 있습니다. 업계 전문가, Unity 엔지니어 및 테크니컬 아티스트가 작성한 30개 이상의 가이드 중에서 선택해 보세요. Unity 툴셋과 시스템을 효율적으로 개발하는 데 도움이 됩니다.