视频内存供应和回收
Windows 显示驱动程序模型 (WDDM) 1.2 及更高版本用户模式显示驱动程序必须使用内存套餐和回收功能(从Windows 8开始提供),以减少本地内存和系统内存中临时表面所需的内存开销。
最低 WDDM 版本:1.2
最低 Windows 版本:8
驱动程序实现 - 完整图形和仅呈现:必需
WHCK 要求和测试: Device.Graphics...OfferReclaim
特别是在移动方案中,需要硬件加速的图形密集型应用可能会大量使用 GPU 资源。 此外,在许多移动设备中,GPU 集成到 CPU 芯片集中,GPU 使用部分系统内存作为视频内存。 为了确保在多个应用大量使用 GPU 进而对系统内存提出大量需求时提供合理的系统性能,应尽量减少显示驱动程序的内存占用。 提供/回收设备驱动程序接口 (DDI) 提供执行此操作的机制。
API 可用于应用提供系统稍后可回收用于其他用途的不需要的内存,以及回收最近丢弃的内存。 请参阅 Microsoft DirectX Graphics Infrastructure (DXGI) 应用编程主题 DXGI 1.2 改进。
提供和回收 DDI
从Windows 8开始,用户模式驱动程序提供或回收内存的新函数可用。
驱动程序调用系统提供的这些函数来提供或回收内存分配:
如果驱动程序支持 Microsoft Direct3D 10 硬件,则会实现以下函数:
如果驱动程序支持 Microsoft Direct3D 9 硬件,则会实现以下功能。 此外,如果应用在使用 Direct3D 9 硬件上运行的 Direct3D 11 API 时提供或回收其分配,则 Direct3D 运行时将调用以下函数:
使用以下关联的结构和枚举:
- D3DDDI_OFFER_PRIORITY
- D3DDDIARG_OFFERRESOURCES
- D3DDDIARG_RECLAIMRESOURCES
- D3DDDICB_OFFERALLOCATIONS
- D3DDDICB_RECLAIMALLOCATIONS
- DXGI_DDI_ARG_OFFERRESOURCES
- DXGI_DDI_ARG_RECLAIMRESOURCES
- DXGI1_2_DDI_BASE_FUNCTIONS
若要支持产品/服务/回收功能,请从Windows 8此结构具有两个新成员:
应仔细测试驱动程序是否正确处理此功能,因为在放弃分配后,其中的所有数据都将丢失。
硬件认证要求
有关硬件设备在实现此功能时必须满足的要求的信息,请参阅 Device.Graphics... 上的相关 WHCK 文档。OfferReclaim。 请注意,这些要求列出了驱动程序必须提供分配的方案。
有关使用 Windows 8 添加的功能的回顾,请参阅 WDDM 1.2 功能。