ID3D10Device::SetPredication 方法 (d3d10.h)

设置呈现谓词。

语法

void SetPredication(
  [in] ID3D10Predicate *pPredicate,
  [in] BOOL            PredicateValue
);

参数

[in] pPredicate

类型: ID3D10Predicate*

指向谓词 (的指针,请参阅 ID3D10Predicate) 。 NULL 值指示“否”谓词;在这种情况下,PredicateValue 的值不相关,但会保留 ID3D10Device::GetPredication 的值。

[in] PredicateValue

类型: BOOL

如果 为 TRUE,则当满足谓词的条件时,呈现将受到影响。 如果 为 FALSE,则当不满足条件时,呈现将受到影响。

返回值

备注

谓词必须处于“已发出”或“已发出”状态,才能用于预测。 虽然为谓词设置了谓词,但对 ID3D10Asynchronous::BeginID3D10Asynchronous::End 的 调用无效。

此方法用于表示如果 Predicate 的结果 Predicate 数据等于 PredicateValue,则不会实际执行后续呈现和资源操作命令。 但是,某些谓词只是提示,因此它们实际上可能不会阻止执行操作。

Predication 的主要用途是允许应用程序发出图形命令,而不会受到旋转的性能影响,等待 ID3D10Asynchronous::GetData 返回。 因此, 当 ID3D10Asynchronous::GetData 返回S_FALSE时,可能会发生 Predication。 另一种考虑方式:如果 ID3D10Asynchronous::GetData 可能返回S_FALSE,应用程序也可以使用 Predication 作为回退。 如果 ID3D10Asynchronous::GetData 返回S_OK,则应用程序可以使用自己的应用程序逻辑手动跳过调用图形命令。

要求

要求
目标平台 Windows
标头 d3d10.h
Library D3D10.lib

另请参阅

ID3D10Device 接口