ID3D11ShaderTrace::TraceReady 方法 (d3d11shadertracing.h)
指定已記錄且已準備好使用的著色器追蹤。
語法
HRESULT TraceReady(
[out, optional] UINT64 *pTestCount
);
參數
[out, optional] pTestCount
變數的選擇性指標,可接收發生追蹤相符調用的次數。 如果未使用,請將 設定為 NULL。 如需此數字的詳細資訊,請參閱。
傳回值
TraceReady 會傳回:
- 如果 追蹤已就緒,S_OK。
- 如果 追蹤尚未就緒,S_FALSE。
- 如果 追蹤在錄製過程中記憶體用盡,E_OUTOFMEMORY。 您可以呼叫 ID3D11ShaderTrace::ResetTrace ,然後重新繪製,嘗試再次記錄追蹤。 如果您決定不要再次記錄追蹤,請釋放 ID3D11ShaderTrace 介面。
- 可能是 Direct3D 11 傳回碼中所述的其他錯誤碼。
備註
如果追蹤是要記錄呼叫 3,但到目前為止只有兩個呼叫發生, TraceReady 會將 pTestCount 指向 2 的變數設定為 。 您可以使用此值來了解追蹤尚未就緒的原因。 相反地, pTestCount 點的變數可能大於已就緒之追蹤所要求的調用計數。 您可以使用此值來判斷超過所需追蹤調用計數的調用數目。 例如,您可能不知道繪製呼叫中指定著色器在像素上發生的過度繪製數目。 如果可以相同地重新繪製場景,您可以根據第一次通過時在 pTestCount 傳回的 TraceReady 值,設定下一次追蹤。
如果記錄著色器追蹤,您可以成功呼叫 ID3D11ShaderTrace::GetTraceStats、 ID3D11ShaderTrace::GetInitialRegisterContents 和 ID3D11ShaderTrace::GetStep 方法。 不論是否已記錄著色器追蹤,您都可以呼叫 ID3D11ShaderTrace::ResetTrace 和 ID3D11ShaderTrace::P SSelectStamp 方法。
注意此 API 需要適用於 Windows 8 的 Windows 軟體開發工具包 (SDK) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | d3d11shadertracing.h |
Dll | D3D11SDKLayers.dll;D3D11_1SDKLayers.dll;D3D11_2SDKLayers.dll |