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
获取在 BeginEnd 之间通过深度和模具测试的样本数。 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
获取管道统计信息,例如 BeginEnd 之间的像素着色器调用数。 GetData 将返回 D3D10_QUERY_DATA_PIPELINE_STATISTICS
D3D10_QUERY_OCCLUSION_PREDICATE
与 D3D10_QUERY_OCCLUSION 类似,但 GetData 返回一个 BOOL,指示是否有任何样本通过了深度和模具测试 - TRUE 表示至少一个通过, FALSE 表示未通过任何样本。
D3D10_QUERY_SO_STATISTICS
获取流式处理输出统计信息,例如 在 BeginEnd 之间流式传输的基元数。 GetData 将返回 D3D10_QUERY_DATA_SO_STATISTICS 结构。
D3D10_QUERY_SO_OVERFLOW_PREDICATE
确定任何流式处理输出缓冲区是否在 BeginEnd 之间溢出。 GetData 返回 BOOL - TRUE 表示存在溢出, FALSE 表示没有溢出。 如果流式处理输出写入多个缓冲区,并且其中一个缓冲区溢出,则它将停止写入所有输出缓冲区。 当 Direct3D 检测到溢出时,将阻止它发生 - 不会损坏任何内存。 此预测可以与SO_STATISTICS查询结合使用,以便在发生溢出时,SO_STATISTIC查询将让应用程序知道需要多少内存来防止溢出。

要求

要求
Header d3d10.h

另请参阅

核心枚举