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::Begin 和 ID3D10Asynchronous::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 |