微软今天宣布在最新的 Agility SDK 预览中添加两个新的 DirectX 12 API 功能,称为 GPU 上传堆和非规范化采样。
DirectX 12 API 获得全新功能,允许 GPU 和 CPU 同时直接访问内存
在其最新的博客文章中,Microsoft 的 DirectX 开发人员博客发布了 Agility SDK 1.710.0(预览版)的可用性,它为 DirectX 12 API 添加了全新的功能。两个新功能更新包括 GPU 上传堆和非规范化采样。以下是博客本身对这两个新功能的描述:
DirectX 12 API 在 Agility SDK 中获得新的 GPU 上传堆和非标准化采样功能
过去,CPU 无法访问 GPU 的 VRAM,迫使程序必须通过 PCI 总线将大量数据复制到 GPU。大多数现代 GPU 都引入了 VRAM 可调整大小的基地址寄存器 (BAR),使 Windows 能够在 WDDM 2.0 或更高版本中管理 GPU VRAM。
可调整大小的 BAR NVIDIA
由于 VRAM 由 Windows 管理,D3D 现在将堆内存访问直接暴露给 CPU!这允许 CPU 和 GPU 同时直接访问内存,无需将数据从 CPU 复制到 GPU,从而在某些情况下提高性能。
GPU 上传堆可用于 iGPU 和 dGPU。对于 dGPU,需要在 BIOS 中打开可调整大小的栏。iGPU 没有此要求,因为 GPU 上传堆将为 UMA 使用 L0 内存。