D3D10_QUERY 枚举 (d3d10.h)
查询类型。
语法
typedef enum D3D10_QUERY {
D3D10_QUERY_EVENT = 0,
D3D10_QUERY_OCCLUSION,
D3D10_QUERY_TIMESTAMP,
D3D10_QUERY_TIMESTAMP_DISJOINT,
D3D10_QUERY_PIPELINE_STATISTICS,
D3D10_QUERY_OCCLUSION_PREDICATE,
D3D10_QUERY_SO_STATISTICS,
D3D10_QUERY_SO_OVERFLOW_PREDICATE
} ;
常量
D3D10_QUERY_EVENT 值: 0 确定 GPU 是否已完成命令处理。 GPU 处理完命令后, GetData 将返回S_OK,pData 将指向值为 TRUE 的 BOOL。 使用此类型的查询时,将禁用 Begin 。 |
D3D10_QUERY_OCCLUSION 获取在 Begin 和 End 之间通过深度和模具测试的样本数。 GetData 返回 UINT64。 如果禁用深度或模具测试,则每个测试都将计为通过。 |
D3D10_QUERY_TIMESTAMP 获取一个时间戳值, 其中 GetData 返回 UINT64。 仅当在D3D10_QUERY_TIMESTAMP_DISJOINT查询中完成两个时间戳查询时,这种类型的查询才有用。 两个时间戳的差值可用于确定已经过的计时周期数,D3D10_QUERY_TIMESTAMP_DISJOINT查询将确定该差异是否为可靠值,并且还具有一个值,该值显示如何将计时周期数转换为秒数。 请参阅 D3D10_QUERY_DATA_TIMESTAMP_DISJOINT。 使用此类型的查询时,将禁用 Begin 。 |
D3D10_QUERY_TIMESTAMP_DISJOINT 确定D3D10_QUERY_TIMESTAMP是否返回可靠值,同时提供处理器的频率,使你能够将经过的计时周期数转换为秒数。 GetData 将返回 D3D10_QUERY_DATA_TIMESTAMP_DISJOINT。 每帧只能调用此类查询一次或更少。 |
D3D10_QUERY_PIPELINE_STATISTICS 获取管道统计信息,例如 Begin 和 End 之间的像素着色器调用数。 GetData 将返回 D3D10_QUERY_DATA_PIPELINE_STATISTICS。 |
D3D10_QUERY_OCCLUSION_PREDICATE 与 D3D10_QUERY_OCCLUSION 类似,但 GetData 返回一个 BOOL,指示是否有任何样本通过了深度和模具测试 - TRUE 表示至少一个通过, FALSE 表示未通过任何样本。 |
D3D10_QUERY_SO_STATISTICS 获取流式处理输出统计信息,例如 在 Begin 和 End 之间流式传输的基元数。 GetData 将返回 D3D10_QUERY_DATA_SO_STATISTICS 结构。 |
D3D10_QUERY_SO_OVERFLOW_PREDICATE 确定任何流式处理输出缓冲区是否在 Begin 和 End 之间溢出。 GetData 返回 BOOL - TRUE 表示存在溢出, FALSE 表示没有溢出。 如果流式处理输出写入多个缓冲区,并且其中一个缓冲区溢出,则它将停止写入所有输出缓冲区。 当 Direct3D 检测到溢出时,将阻止它发生 - 不会损坏任何内存。 此预测可以与SO_STATISTICS查询结合使用,以便在发生溢出时,SO_STATISTIC查询将让应用程序知道需要多少内存来防止溢出。 |
要求
要求 | 值 |
---|---|
Header | d3d10.h |