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 resentIDXGISwapChain1::P resent1ID3D11DeviceContext::Flush
 
适用于 Windows 7 的平台更新: 运行时验证 OfferResources 是否在非共享资源上正确使用,但未执行预期功能。 有关 Windows 7 平台更新的详细信息,请参阅 适用于 Windows 7 的平台更新

要求

   
最低受支持的客户端 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dxgi1_2.h
Library Dxgi.lib

请参阅

IDXGIDevice2

IDXGIDevice2::ReclaimResource