当前位置: 首页 > ai >正文

window 显示驱动开发-报告图形内存(一)

计算图形内存

在 VidMm 能够向客户端报告准确的帐户之前,它必须首先计算图形内存的总量。 VidMm 使用以下内存类型和公式来计算图形内存:

  • 系统总内存

此值是操作系统可访问的系统内存总量。 BIOS 分配的内存不会出现在此数字中。 例如,一台具有 1 GB DIMM (1,024 MB) 的计算机,其 BIOS 保留了 1 MB 的内存,似乎有 1,023 MB 的系统内存。

  • 可用于图形用途的系统内存总量

此值是专用于或共享到 GPU 的系统内存总量。 此数字的计算方式如下:

TotalSystemMemoryAvailableForGraphics = MAX((TotalSystemMemory / 2), 64MB)
  • 对光圈段提交限制

此值是 VidMm 允许内核模式显示微型端口驱动程序 (KMD) 在任何给定时刻锁定 GPU 使用的系统内存量。 也就是说,它是 KMD 可以通过光圈段映射的系统内存量。 为 GPU 分配的系统内存总量可能会大大超过提交限制;然而,VidMm 确保在任何时候只有一个提交限制数量实际上驻留在一个光圈段中。

默认情况下,特定光圈段的提交限制是该段的大小。 当驱动程序描述段时,KMD 可以在 DXGK_SEGMENTDESCRIPTOR 结构的 CommitLimit 成员中指定不同的提交限制。 以这种方式指定的提交限制仅适用于驱动程序描述的特定段。

除了每段提交限制外,所有光圈段都有全局提交限制。 此全局提交限制也称为共享系统内存。 VidMm 计算此值。 KMD 可以在 DXGK_DRIVERCAPS 结构的 ApertureSegmentCommitLimit 成员中将此值减小到较低的值;然而,我们不推荐这种做法。

VidMm 不允许 KMD 违反每段提交限制和全局提交限制。 如果特定段的提交限制为 1 GB,但全局提交限制为 256 MB,则 VidMm 不允许 KMD 将超过 256 MB 的系统内存映射到该段。

  • 专用视频内存

此值是 KMD 在 DXGK_SEGMENTFLAGS 结构中未指定 PopulatedFromSystemMemory 成员的所有内存段的大小之和。

  • 专用系统内存

此值是 KMD 在 DXGK_SEGMENTFLAGS 结构中指定 PopulatedFromSystemMemory 成员的所有内存段的大小之和。 此数字不能大于图形可用的总系统内存 (TotalSystemMemoryAvailableForGraphics)。

  • 最大共享系统内存

此值是共享给 GPU 的最大系统内存量。 VidMm 使用以下公式计算它:

MaxSharedSystemMemory = TotalSystemMemoryAvailableForGraphics - DedicatedSystemMemory
  • 共享系统内存

此值是共享给 GPU 的系统内存量。 VidMm 使用以下公式计算它:

SharedSystemMemory = MIN(MIN(SumOfCommitLimitOnAllApertureSegment, DXGK_DRIVERCAPS.ApertureSegmentCommitLimit), MaxSharedSystemMemory)
  • 总视频内存

此值是视频内存总量。 VidMm 使用以下公式计算它:

TotalVideoMemory = DedicatedVideoMemory + DedicatedSystemMemory + SharedSystemMemory
http://www.xdnf.cn/news/5877.html

相关文章:

  • ElasticSeach快速上手笔记-入门篇
  • VScode 的插件本地更改后怎么生效
  • 嵌入式学习--江协51单片机day5
  • React百日学习计划——Deepseek版
  • 销量预测评估指标
  • 【工作记录】Kong Gateway 入门篇之部署及简单测试
  • mpegts.js 播放flv视频报错:PIPELINE_ERROR_DECODE: video decode error!
  • FlashInfer - 安装
  • 理解 Open vSwitch (OVS)
  • 一键转换上百文件 Word 批量转 PDF 软件批量工具
  • 大模型——Crawl4AI为 LLM 和 RAG 准备高质量网页数据
  • ‌Element UI 双击事件(@cell-dblclick 与 @row-dblclick)
  • 函数式方法的实现(JDK8+)
  • 洛谷 P3374 【模板】树状数组 1(树状数组解法)
  • C#高级编程:设计模式原则
  • 第28节:现代CNN架构-ResNet与残差连接
  • Android加固工具测评:易盾、顶象、360加固哪款更好用?
  • 【源码+文档+调试讲解】党员之家服务系统小程序1
  • 如何同步虚拟机文件夹
  • Linux精确列出非法 UTF-8 字符的路径或文件名
  • 从虚拟现实到混合现实:沉浸式体验的未来之路
  • 【TMFN】一种基于文本的多模态融合网络,具有多尺度特征提取和无监督对比学习,用于多模态情感分析
  • Day1 时间复杂度
  • 3.2 一点一世界
  • mysql8常用sql语句
  • Java大师成长计划之第21天:Spring Boot快速入门
  • 【HarmonyOS】ArkTS开发应用的横竖屏切换
  • mybatisplus 集成逻辑删除
  • 从硬盘加载bootloader(setup)
  • 仿射密码的加密与解密