스레드 문제를 찾기 위한 일반적인 단계
Xbox용 성능 조사자(PIX) 또는 Windows 성능 분석기(WPA)를 사용하여 스레딩 문제를 조사할 수 있습니다. PIX는 게임 개발자를 위한 세부적인 인터페이스를 제공하며, 가장 유용한 데이터를 실무 단계에 유지하기 위해 정보를 구성합니다. 반면 WPA는 필터가 없는 모든 정보를 제공합니다. 가파른 학습 곡선일 수 있는 나만의 필터를 만들어야 합니다. 그러나 시스템의 원시 데이터에 대한 제어 및 통찰력을 강화할 수 있습니다.
PIX는 Microsoft GDK(게임 개발 키트)의 일부로 설치됩니다. WPA는 Microsoft Store에서 무료로 다운로드할 수 있습니다. 또한 Windows Assessment and Deployment Kit의 일부로 받을 수 있습니다.
PIX
PIX의 스레드 동작 분석은 이 항목에서 설명하는 모든 유형의 스레드 문제를 조사하기 위한 시작점으로 사용되는 타이밍 캡처를 시작하여 시작합니다. 타이밍 캡처 및 각 보기 함수에 대한 자세한 내용은 PIX 타이밍 캡처(NDA 항목)권한 부여 필요를 참조하세요. 다음 단계에 따라 PIX에서 타이밍 캡처를 수행합니다.
PIX를 열고 콘솔에 연결합니다. PIX 설정에 대한 자세한 내용은 설정 및 시작(NDA 항목)권한 부여 필요을 참조하세요. 분석하려는 게임이 연결된 콘솔에서 실행 중인지 확인합니다.
콘솔에 연결한 후에 Xbox 연결 탭이 콘솔의 IP 주소와 함께 나타납니다. 그림 1과 같이 옵션을 선택하여 타이밍 캡처 시작 섹션을 확장합니다.
그림 1. PIX의 시작 타이밍 캡처 탭 표시
컨텍스트 스위치의 Callstacks가 선택되었는지 확인하세요.
스톱워치 아이콘을 선택하여 캡처를 시작합니다. 시스템 모니터 보기에는 캡처되는 시간 프레임을 나타내는 그래프의 강조 표시된 섹션이 있습니다.
데이터를 충분히 캡처한 경우 캡처를 중지하려면 스톱워치 아이콘을 다시 선택합니다. 그림 2에 표시된 같이 캡처의 시간 표시 막대 보기와 함께 새 탭이 열립니다.
그림 2. PIX에서 타이밍 캡처의 기본 보기 표시
참고 항목
타임라인, 요소 세부 정보 및 범위 세부 정보라는 레이블이 지정된 세 가지 주요 보기가 있습니다. 타임라인 보기에서 이동하여 개별 스레드의 타임 라인을 검토할 수 있습니다. 마우스의 휠 버튼을 사용하여 위아래로 스크롤하면 됩니다.
시간 표시 막대의 일부를 선택하고 이동하여 관심 영역으로 확대합니다.
- 타임라인을 마우스 오른쪽 버튼으로 클릭할 때 나타나는 이 컨텍스트 메뉴에서 선택한 범위로 확대/축소를 선택할 수도 있습니다.
- 보이는 시간 범위 또는 선택한 시간 범위를 직접 편집할 수도 있습니다. 마우스 오른쪽 버튼을 클릭하여 이동하고 Ctrl을 선택하고 마우스 휠 버튼으로 스크롤하면 타임라인을 확대/축소하고 탐색할 수 있습니다.
WPA
WPA는 ETL(이벤트 추적 로그) 파일을 보는 데 사용되는 도구입니다. WPA를 사용하는 첫 번째 단계는 ETL 캡처를 만드는 것입니다. 이를 수행하는 한 가지 방법은 수집된 데이터를 선택할 때 가장 유연하게 게임 OS 내에서 실행되는 xperf.exe를 사용하는 것입니다. 그러나 ETL 데이터를 수집하는 또 다른 옵션은 GDK 명령 프롬프트에서 xbperf(NDA 항목)권한 부여 필요를 사용하는 것입니다.
WPA 프로필은 소프트웨어를 다운로드한 후 GDKSamples>도구> WPAProfiles 폴더 아래에서 확인할 수 있는 GDK 샘플에 있습니다. WPA 프로필은 WPA 인터페이스를 일관된 형식으로 설정하기 위해 만들어진 구성 파일입니다. 샘플에서 제공되는 항목은 스레딩 문제 찾기 섹션의 그림에 사용된 것과 동일합니다.
다음 단계를 사용하여 ETL 캡처를 만들고 WPA 프로필을 관리합니다.
- 부록 A: ETL 추적을 생성하기 위한 배치 파일은 게임 OS 내에서 실행되는 xperf.exe를 사용하여 ETL 캡처를 수행하는 샘플 배치 파일입니다. ETL 캡처를 사용하는 데 익숙하지 않은 한 이 배치 파일을 사용하는 것이 좋습니다.
- GDK 명령 프롬프트에서 배치 파일을 실행한 후 게임 OS가 실행 중인지 확인하고 캡처를 시작한 다음 창이 입력을 받을 때까지 캡처를 계속합니다.
참고 항목
캡처가 상당히 큰 경우 추가 데이터가 필요하다는 것을 알지 못하지 않는 한 1분 정도 시작하면 됩니다. 캡처가 중지된 후 ETL 파일을 현재 작업 디렉터리로 복사한 다음 열려고 시도합니다.
- 각 스레드 문제 예제 이미지에 로드된 WPA 프로필에 대한 페이지 노트를 추가하여 데이터를 구성합니다. 프로필>적용...> 찾아보기...를 선택하여 동일한 프로필을 로드한 다음 .wpaProfile 파일을 엽니다.
- WPA 프로필은 자동으로 새 탭에서 보기를 열 수 있습니다. 각 보기에는 그래프와 데이터 테이블이 포함되어 있습니다. WPA에 있는 모든 보기는 ETL 이벤트에 의해 수집되는 데이터의 관련 하위 집합을 표시하는 데이터 테이블의 열과 설정의 서로 다른 조합입니다.
- 그래프는 표에 있는 열의 순서에 따라 데이터를 다르게 표시합니다. 표의 열 머리 단추를 마우스 오른쪽 단추로 클릭하여 보기를 편집할 수도 있지만, 제공되는 .wpaProfile 파일은 각 문제 유형의 좋은 시작점 구성입니다.
참고 항목
보기의 위쪽 표시줄에서 이름을 선택하고 초기화를 선택하여 언제든지 보기를 원래 설정으로 다시 설정할 수 있습니다. 원하는 설정을 찾은 경우 저장할 수 있습니다. 마찬가지로 보기 그룹은 프로필 메뉴에서 저장할 수 있습니다. WPA는 .pdb 파일을 처리하고 빠른 검색을 위해 캐시를 저장합니다.
SymCache 탭에서 SymCache 생성 폴더 경로를 선택하여 찾을 수 있습니다.
WPA는 각 .pdb 파일에 대한 캐시를 만들어야 하기 때문에 기호를 로드하는 데 시간이 오래 걸리는 경우도 있습니다. 더 큰 .pdb 파일의 경우 몇 분 정도 걸릴 수 있습니다. 그러나 .pdb 파일을 처음 찾는 경우에만 이 작업을 수행해야 합니다.
- 그래프의 일부를 선택하고 가로 질러 마우스를 이동하여 강조 표시 한 다음 마우스 오른쪽 버튼을 클릭하고 확대/축소를 선택하여 그래프 섹션을 확대합니다. 상황에 맞는 메뉴에서 시간 범위 선택...을 사용하여 보다 정확한 시간 프레임을 강조 표시할 수도 있습니다.