다음을 통해 공유


PIXBeginCapture

프로그래밍 방식으로 제어되는 PIX 타이밍 캡처를 시작합니다.

구문

HRESULT PIXBeginCapture(  
         DWORD captureFlags,  
         const PPIXCaptureParameters captureParameters  
)  

매개 변수

captureFlags   
형식: DWORD

수행할 캡처 유형을 나타내는 플래그입니다. 캡처 플래그는 한 번에 하나만 PIXBeginCapture에 전달할 수 있습니다. 현재 유효한 값은 pix3.h에 정의된 PIX_CAPTURE_TIMING입니다.

#define PIX_CAPTURE_TIMING                  (1 << 0)  

captureParameters _In_opt_
형식: PPIXCaptureParameters

타이밍 캡처의 경우, TimingCaptureParameters 구조에 관한 포인터를 전달하거나 TimingCaptureParameters 구조가 포함된 PIXCaptureParameters 공용체에 관한 포인터를 전달합니다.

반환 값

형식: HRESULT

캡처가 성공적으로 시작되었는지 여부를 나타냅니다. 성공하면 S_FALSE가 반환됩니다. 캡처는 한 번에 하나만 실행될 수 있습니다. 다른 캡처가 현재 실행 중일 때 PIXBeginCapture을(를) 호출하면 E_PENDING이 반환되고 이 호출은 아무 효과도 없습니다.

설명

이 함수는 타이틀 코드에서 PIX 캡처를 시작합니다. PIXBeginCapture은(는) 현재 타이밍 캡처(NDA 항목)권한 부여 필요를 가져오는 데만 사용할 수 있습니다.

PIXBeginCapture은(는) 캡처 데이터를 콘솔의 도구 메모리에 저장합니다. 캡처에 사용할 수 있는 도구 메모리의 양은 PIXCaptureParameters 구조에서 MaximumToolingMemorySizeMb 필드를 설정하여 지정됩니다.

프로그래밍 방식 타이밍 캡처는 PIXCaptureParameters 구조의 PIXCaptureStorage 열거형 값으로 정의된 두 가지 모드 중 하나로 수행할 수 있습니다. PIXCaptureStorage메모리로 설정되면 PIXBeginCapture에서는 사용 가능한 도구 메모리를 채웁니다. 그러면 들어오는 새 데이터가 삭제됩니다. PIXCaptureStorage이(가) MemoryCircular로 설정된 경우PIXBeginCapture은(는) 도구 메모리를 링 버퍼로 사용합니다. 캡처는 도구 메모리가 가득 찰 때까지 실행되지만 캡처를 중지하는 대신 가장 오래된 데이터를 없애 새 데이터를 위한 공간을 확보합니다. 캡처는 계속 실행됩니다. MemoryCircular 캡처는 콘솔에서 사용 가능한 도구 메모리를 소모하지 않으면서 장기간 실행되도록 설계되었습니다.

PIXBeginCapture을(를) 사용하여 가져온 타이밍 캡처는 PC로 다시 복사하여 .xpix 파일로 변환해야 PIX에서 볼 수 있습니다. PIX에서 프로그래밍 캡처를 보는 데 필요한 단계에 관한 설명은 프로그래밍 방식의 타이밍 캡처 열기(NDA 항목)권한 부여 필요를 참조하세요.

PIXEndCapture를 사용하여 타이틀 코드에서 PIX 캡처를 중지합니다.

//
//  timing capture
//
PIXCaptureParameters captureParams = {};

captureParams.TimingCaptureParameters.CaptureGpuTiming = TRUE;
captureParams.TimingCaptureParameters.CaptureCallstacks = TRUE;
captureParams.TimingCaptureParameters.CaptureCpuSamples = TRUE;
captureParams.TimingCaptureParameters.CpuSamplesPerSecond = 4000;

captureParams.TimingCaptureParameters.CaptureStorage = PIXCaptureParameters::Memory;
captureParams.TimingCaptureParameters.FileName = wstrFilename;
captureParams.TimingCaptureParameters.MaximumToolingMemorySizeMb = 4096;

XSF_ERROR_IF_FAILED(PIXBeginCapture(PIX_CAPTURE_TIMING, &captureParams));

요건

헤더: pix3.h

라이브러리: pixevt.lib

지원되는 플랫폼: Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

PIXEndCapture
PIXCaptureParameters
PIX3
PIX(NDA 항목)권한 부여 필요