PIXEndCapture

停止使用 PIXBeginCapture 启动的以编程方式控制的捕获。

语法

HRESULT PIXEndCapture(  
         BOOL discard  
)  

参数

discard   
类型:BOOL

指示是否应该放弃捕获:

  • 如果 discard 为 TRUE,则放弃捕获的数据,并且在 PIX 中将不显示捕获。
  • 如果 discard 为 FALSE,则保存捕获的数据,并且 PIX 将显示最终生成的捕获。

discard 参数用于放弃未满足您所查找的条件的捕获。 例如,可使用 PIXBeginCapturePIXEndCapture 尝试捕获对属于预定义时间范围内的函数的调用。 您可能希望仅显示对属于该范围内的函数调用的捕获。

返回值

类型:HRESULT

指示捕获是否已成功完成。 对于成功,返回 S_OK。 操作是异步操作,它将一直返回 E_PENDING,直至捕获完全停止。 当结果为 E_PENDING 时,游戏不应退出或启动新的捕获。

备注

使用 PIXBeginCapture 开始 PIX 捕获。
若要详细了解启动 PIX 捕获的要求,请参阅 PIXBeginCapture 的“备注”部分。

以下 C++ 示例演示了如何开始和结束一个 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));

while (PIXEndCapture(FALSE) == E_PENDING)
{
    // Keep running
}

要求

头文件:pix3.h

库:pixevt.lib

支持的平台:Xbox One 系列主机和 Xbox Series 主机

另请参阅

PIXBeginCapture
PIX3
PIX(NDA 主题)要求授权