以下是 D3D11_QUERY_DATA_PIPELINE_STATISTICS 结构的定义:
typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
UINT64 IAVertices;
UINT64 IAPrimitives;
UINT64 VSInvocations;
UINT64 GSInvocations;
UINT64 GSPrimitives;
UINT64 CInvocations;
UINT64 CPrimitives;
UINT64 PSInvocations;
UINT64 HSInvocations;
UINT64 DSInvocations;
UINT64 CSInvocations;
} D3D11_QUERY_DATA_PIPELINE_STATISTICS;
这个结构包含了如下成员:
- IAVertices: 输入汇总的顶点数量。
- IAPrimitives: 输入汇总的图元数量。
- VSInvocations: 顶点着色器调用次数。
- GSInvocations: 几何着色器调用次数。
- GSPrimitives: 几何着色器输出的图元数量。
- CInvocations: 控制点着色器调用次数(用于Hull Shader)。
- CPrimitives: 控制点着色器输出的图元数量(用于Hull Shader)。
- PSInvocations: 像素着色器调用次数。
- HSInvocations: Hull Shader 调用次数。
- DSInvocations: Domain Shader 调用次数。
- CSInvocations: Compute Shader 调用次数。
这些统计信息可以帮助开发者了解渲染过程中各个阶段的性能状况,用于性能优化和调试。要使用这个结构,您需要创建一个用于存储统计数据的缓冲区,并使用 ID3D11DeviceContext::GetData 方法将数据从GPU复制到CPU。
转载请注明出处:http://www.zyzy.cn/article/detail/25680/Win32 API/D3d11.h/D3D11_QUERY_DATA_PIPELINE_STATISTICS