D3D11_QUERY_DATA_TIMESTAMP_DISJOINT 是Direct3D 11中的一个结构,用于存储由 Timestamp Disjoint 查询返回的信息。这个结构主要用于检测 GPU 时间戳计数是否在某个时间间隔内不连续(disjoint)。

以下是 D3D11_QUERY_DATA_TIMESTAMP_DISJOINT 结构的定义:
typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT {
  UINT64 Frequency;
  BOOL   Disjoint;
} D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;

这个结构包含了两个成员:

  •  Frequency: GPU时间戳的频率,表示每秒的时间戳计数。

  •  Disjoint: 一个布尔值,指示时间戳计数是否在某个时间间隔内发生了不连续。


通过查询Timestamp Disjoint信息,应用程序可以检测GPU是否在某个时间间隔内发生了重置或者其他不连续的情况。这对于确保时间戳的准确性和一致性非常重要。

要使用这个结构,您需要在创建Timestamp Disjoint查询时,通过 ID3D11DeviceContext::GetData 方法将统计数据从GPU复制到CPU。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25682/Win32 API/D3d11.h/D3D11_QUERY_DATA_TIMESTAMP_DISJOINT