WDDM 2.0 中的驱动程序驻留
本部分提供有关 Windows 显示驱动程序模型 (WDDM) 2.0 的驱动程序驻留更改的详细信息。 所述功能从Windows 10开始可用。
本部分中的内容
主题 | 说明 |
---|---|
随着新驻留模型的引入,驻留将移动到设备上的显式列表,而不是每个命令的缓冲区列表。 视频内存管理器将确保在计划执行属于该设备的任何上下文之前,特定设备驻留要求列表上的所有分配都是驻留的。 |
|
随着分配列表的消失,视频内存管理器不再能够查看特定命令缓冲区中引用的分配。 因此,视频内存管理器不再能够跟踪分配使用情况和处理相关同步。 此责任现在由用户模式驱动程序承担。 具体而言,用户模式驱动程序必须处理与直接 CPU 访问分配和重命名相关的同步。 |
|
对于 WDDM v2,有关 套餐 和 回收 的要求正在放宽。 用户模式驱动程序不再需要在内部分配上使用套餐和回收。 空闲/挂起的应用程序将使用 Microsoft DirectX 11.1 中引入的 TrimAPI 删除驱动程序内部资源。 |
|
图形处理单元 (GPU) 访问非驻留的分配是非法的,并且将导致为生成错误的应用程序删除设备。 有两种不同的模型来处理此类无效访问,具体取决于故障引擎是否支持 GPU 虚拟寻址:
|
|
在 WDDM v2 中,将为进程分配可保留多少内存的预算。 此预算可能会随时间而变化,但通常仅在系统面临内存压力时才施加。 在 Microsoft Direct3D 12 之前,预算由用户模式驱动程序以 剪裁 通知和 MakeResident 故障的形式 处理STATUS_NO_MEMORY。 TrimToBudget 通知、 Evict 和失败的 MakeResident 调用均以整数 NumBytesToTrim 值的形式返回最新预算,该值指示需要剪裁多少才能适应新预算。 |