PIXEndCapture
停止使用 PIXBeginCapture
启动的以编程方式控制的捕获。
语法
HRESULT PIXEndCapture(
BOOL discard
)
参数
discard
类型:BOOL
指示是否应该放弃捕获:
- 如果 discard 为 TRUE,则放弃捕获的数据,并且在 PIX 中将不显示捕获。
- 如果 discard 为 FALSE,则保存捕获的数据,并且 PIX 将显示最终生成的捕获。
discard 参数用于放弃未满足您所查找的条件的捕获。 例如,可使用 PIXBeginCapture
和 PIXEndCapture
尝试捕获对属于预定义时间范围内的函数的调用。 您可能希望仅显示对属于该范围内的函数调用的捕获。
返回值
类型: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 主机