视频内存供应和回收

Windows 显示驱动程序模型(WDDM)1.2 及更高版本的用户模式显示驱动程序必须利用从 Windows 8 开始提供的内存提供和回收功能,以减少本地和系统内存中临时表面所需的内存开销。

最低 WDDM 版本:1.2

最低 Windows 版本:8

驱动程序实现——完整图形模式和仅渲染模式:必需

WHCK 要求和测试Device.Graphics...OfferReclaim

特别是在移动方案中,需要硬件加速的图形密集型应用可能会大量使用 GPU 资源。 此外,在许多移动设备中,GPU 集成到 CPU 芯片集中,GPU 使用系统内存部分作为视频内存。 为了确保当多个应用大量使用 GPU 时,确保系统性能合理,而 GPU 又对系统内存的需求很大,应最小化显示驱动程序的内存占用。 提供/回收设备驱动程序接口(DDIs)提供执行该操作的机制。

API 可用于应用提供不需要的内存,系统以后可以回收其他用途,以及回收最近丢弃的内存。 请参阅 Microsoft DirectX 图形基础结构 (DXGI) 应用编程主题 DXGI 1.2 改进

提供和回收 DDI

新功能从 Windows 8 开始可供用户模式驱动程序使用,以提供或回收内存。

驱动程序调用这些系统提供的函数来提供或回收内存分配:

如果驱动程序支持 Microsoft Direct3D 10 硬件,驱动程序将实现这些函数:

如果驱动程序支持 Microsoft Direct3D 9 硬件,驱动程序将实现以下功能。 此外,如果应用在使用 Direct3D 9 硬件上运行的 Direct3D 11 API 时提供或回收其分配,Direct3D 运行时将调用以下函数:

使用这些相关的结构和枚举:

若要支持提供/回收功能,从 Windows 8 开始,此结构有两个新成员:

应仔细测试驱动程序是否正确处理此功能,因为在放弃分配后,其中所有数据都将丢失。

硬件认证要求

有关硬件设备在实现此功能时必须满足的要求的信息,请参阅 Device.Graphics 上的相关 WHCK 文档...OfferReclaim。 请注意,这些要求列出了驱动程序需要进行资源分配的方案。

有关使用 Windows 8 添加的功能的回顾,请参阅 WDDM 1.2 功能