IDXGIDevice2::OfferResources 方法 (dxgi1_2.h)
允许操作系统通过放弃资源的内容释放资源的视频内存。
语法
HRESULT OfferResources(
[in] UINT NumResources,
[in] IDXGIResource * const *ppResources,
[in] DXGI_OFFER_RESOURCE_PRIORITY Priority
);
参数
[in] NumResources
ppResources 参数数组中的资源数。
[in] ppResources
指向要提供的资源的 IDXGIResource 接口的指针数组。
[in] Priority
一个DXGI_OFFER_RESOURCE_PRIORITY类型的值,指示数据的价值。
返回值
OfferResources 返回:
- S_OK是否成功提供资源
- 如果数组中的资源或优先级无效,E_INVALIDARG
备注
Priority 参数指定的优先级值描述调用方认为内容的价值。 操作系统使用优先级值按优先级顺序丢弃资源。 操作系统先放弃提供低优先级的资源,然后再放弃提供具有较高优先级的资源。
如果在资源绑定到管道时调用 OfferResources 来提供资源,则资源是未绑定的。 不能对映射的资源调用 OfferResources 。 提供资源后,在调用 IDXGIDevice2::ReclaimResource 方法来回收资源之前,资源无法映射或绑定到管道。 不能调用 OfferResources 来提供不可变资源。
若要提供共享资源,请仅在其中一个共享设备上调用 OfferResources 。 若要确保以独占方式访问资源,必须使用 IDXGIKeyedMutex 对象,然后仅在持有互斥时调用 OfferResources 。 事实上,除非使用 IDXGIKeyedMutex ,否则无法提供共享资源,因为不支持在不使用 IDXGIKeyedMutex 的情况下提供共享资源。
注意 用户模式显示驱动程序可能不会立即提供你在调用 OfferResources 时指定的资源。 驱动程序可以推迟提供它们,直到下次调用 IDXGISwapChain::P resent、 IDXGISwapChain1::P resent1 或 ID3D11DeviceContext::Flush。
要求
最低受支持的客户端 | 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | dxgi1_2.h |
Library | Dxgi.lib |