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
に設定されている場合、使用可能になったツール メモリがいっぱいになり、新しいデータが破棄されます。
PIXCaptureStorage
が MemoryCircular に設定されている場合、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 トピック)認可が必須です