次の方法で共有


PIXBeginCapture

プログラムによって制御できる PIX タイミング キャプチャを開始します。

構文

HRESULT PIXBeginCapture(  
         DWORD captureFlags,  
         const PPIXCaptureParameters captureParameters  
)  

パラメーター

captureFlags   
型: DWORD

実行するキャプチャの種類を示すフラグです。 同時に PIXBeginCapture に渡すことができるキャプチャ フラグは 1 つだけです。 現時点では、pix3.h で定義されている有効な値は PIX_CAPTURE_TIMING のみです。

#define PIX_CAPTURE_TIMING                  (1 << 0)  

captureParameters _In_opt_
型: PPIXCaptureParameters

タイミング キャプチャの場合は、TimingCaptureParameters 構造体へのポインターを渡すか、TimingCaptureParameters 構造体を収めた PIXCaptureParameters 共用体へのポインターを渡します。

戻り値

型: HRESULT

キャプチャが正常に開始されたかどうかを示します。 成功した場合は S_FALSE が返されます。 同時に実行できるキャプチャは 1 つのみです。 別のキャプチャが実行されているときに PIXBeginCapture を呼び出した場合、E_PENDING が返され、呼び出しは無効になります。

解説

この関数は、タイトル コードから PIX キャプチャを開始します。 現在のところ、PIXBeginCaptureタイミング キャプチャ (NDA トピック)認可が必須です を取得するためにのみ使用できます。

PIXBeginCapture は、キャプチャ データをコンソールのツール メモリに格納します。 キャプチャで使用できるツール メモリの量は、PIXCaptureParameters 構造体の MaximumToolingMemorySizeMb フィールドを設定して指定します。

プログラムによるタイミング キャプチャは、PIXCaptureParameters 構造体の PIXCaptureStorage 列挙型の値によって定義される 2 つのモードのいずれかで取得できます。 PIXCaptureStorage[メモリ]PIXBeginCapture に設定されている場合、使用可能になったツール メモリがいっぱいになり、新しいデータが破棄されます。 PIXCaptureStorageMemoryCircular に設定されている場合、PIXBeginCapture はツール メモリがリング バッファーとして使用されます。 キャプチャは、ツール メモリがいっぱいになるまで実行されますが、キャプチャを停止する代わりに、最も古いデータが期限切れになり、新しいデータの余地が生まれます。 キャプチャは引き続き実行されます。 MemoryCircular キャプチャは、本体で使用可能なツール メモリを使い果たさない一方で、長時間実行するように設計されています。

PIXBeginCapture を使用して取得したタイミング キャプチャを PIX で表示するには、それを PC にコピーして戻し、.xpix ファイルに変換する必要があります。 PIX でタイミング キャプチャを表示するために必要な手順の説明については、「プログラムによるタイミング キャプチャを開く (NDA トピック)認可が必須です」を参照してください。

タイトル コードから PIX キャプチャを停止するには、PIXEndCapture を使用します。

//
//  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 トピック)認可が必須です