标准 DMA 数据包
下图是选择“Dma 数据包”时 “对象详细信息 ”对话框的屏幕截图。
标头
“ 对象详细信息 ”对话框显示的所有对象都具有如下所示的标准标头。
创建时间:创建对象的时间。
进程:拥有的进程 ID 和名称。
上下文:拥有上下文的句柄。 如果选中,在按“ 定位对象” 按钮时会找到。
组成部分
所有标准 DMA 数据包都有如下所示的正文。
类型:第一行是显示的对象类型。
提交围栏:提交到硬件的所有 DMA 数据包都有隔离 ID。 通常,这些是值始终递增的有序数字。
SubmittedToHardwareQueueTime:数据包放置在硬件上的时间。
GpuStartProcessingTime:GPU 开始处理数据包的时间。
CompletedByISRTime:GPU 表示已完成数据包处理的时间。
CompletedByDPCTime:视频内核完成 DPC) 中处理的 DMA 数据包 (的时间。
HW 队列中的时间:从提交到 ISR 完成的总时间。
执行时间:GPU 处理时间量 (HW 队列) 时间子集。
数据包状态:已抢占或已完成。
队列数据包 Dma 大小:队列数据包的大小。
队列数据包:分配引用的数目,这是一个变化的计数。
队列数据包:修补程序位置的数量,这些位置是队列数据包中必须在处理之前修复的位置。
内存
所有内存引用采用以下形式。
第一列是特定于设备的内存块的地址。 第二列是适配器看到的全局内存分配。 第三列是内存读取或写入属性。 第四列是内存放置属性。 第五列表示光圈或系统内存。 第六列和第七列表示大小。
请注意,如果选择了特定于设备的内存地址或全局内存地址,则“ 查找对象” 按钮将在对象查看器中查找该地址。
呈现 Dma 数据包
GPU 硬件队列标准 Dma 数据包和 GPU 硬件队列现有数据包之间的唯一区别是类型字段。 与标准 Dma 数据包不同,“演示”数据包为“呈现数据包”。
分页 Dma 数据包
分页 Dma 数据包在内存管理操作期间由视频内核计划。 如果需要移动某些内存或为即将执行的操作做好准备,可以在 GPU 硬件队列中找到这些数据包。
下图显示了这些对象与标准 Dma 数据包之间的唯一实际差异。
操作:这可以是多种类型,但通常为“放弃”或“填充内存”。
适配器分配:内存地址。
源段 ID:表示内存段的数字。
源段偏移量:段的偏移量。
标志:如果使用了任何标志。
抢占 Dma 数据包
当内核视频计划程序需要抢占 GPU 正在执行的某些工作时,抢占 Dma 数据包由内核视频计划程序创建。 如果某些进程消耗大量 GPU,并且必须进行其他一些高优先级呈现,则通常会发生这种情况。
抢占 Dma 数据包采用标准 Dma 数据包的形式,没有分配引用。