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

window表现驱动开发—视频呈现网络简介

视频呈现网络 (VidPN) 管理器是 DirectX 图形内核子系统 (Dxgkrnl.sys) 的组件,负责管理连接到表现适配器的监视器和其他显示设备的集合。 VidPN 经理的职责包括:

响应热插拔和拔下监视器。

当连接的监视器集更改时,维护和更新一组可用的显示模式。

管理显示适配器上呈现图面与视频输出之间的关联;例如,将桌面的视图和扩展克隆到多个监视器。

当笔记本电脑的盖子打开或关闭时,调整可用显示设备和显示模式集。

在笔记本电脑停靠或取消停靠时,调整可用显示设备和显示模式集。

显示适配器的演示子系统的软件模型。就是显示适配器上负责扫描视频内存中呈现的内容并在视频输出上呈现的硬件称为 显示适配器的呈现子系统。 视频呈现网络 (VidPN)

显示适配器的呈现子系统的关键元素是主表面链) (视图和视频输出。 在 VidPN 模型中,视图称为 视频呈现源,视频输出称为 视频呈现目标。

视频演示源与视频呈现目标之间的关联。 VidPN 通过维护一组视频呈现路径来为源和目标之间的关系建模。 路径集称为 VidPN 拓扑。就是视频演示路径

请注意,视频存在目标不是监视器 (或其他外部显示设备) 连接到显示适配器。 视频呈现的目标是视频输出连接器本身。

下图演示了一个 VidPN。

上图中所示的 VidPN 有三个视频存在目标:DVI 连接器、HD15 连接器和 S 视频连接器。 VidPN 拓扑由将两个源连接到三个目标的行表示。 拓扑指定源 1 连接到 DVI 目标,源 2 连接到 HD15 和 S 视频目标。 源 2 上呈现的内容在连接到 HD15 和 S 视频连接器的显现设备上显示为克隆视图。

每个视频呈现源都支持一组称为 源模式的图面格式。 为了跟踪各种视频呈现源支持的源模式,VidPN 会为每个视频呈现 源保留一个源模式集 。 为特定视频当前源设置的源模式不是静态的;它会随着拓扑的变化而更改,并且根据为其他视频呈现源选择的模式而更改。

该模型适用于视频呈现目标。 每个视频呈现目标都支持一组称为 目标模式的特定视频信号格式,并且 VidPN 为每个视频呈现目标维护一个 目标模式集 。 为特定视频呈现目标设置的目标模式会随着拓扑的更改而更改,并为其他视频呈现目标选择模式。

显示微型端口驱动程序的角色

例如,显示适配器具有一个或多个 视频输出编解码器 (CRTC) ,该编解码器从视频呈现源进行读取,并将相应的视频信号放置在视频呈现目标上。 在任何给定时间,视频输出编解码器最多允许从一个视频当前源中读取;但是,该编解码器能够向多个视频存在目标提供视频信号, (克隆视图) 。VidPN 管理器关注视频当前源和视频呈现目标之间的关联,但不关心视频输出编解码器的角色。 有关从特定视频当前源读取哪些视频输出编解码器的决策完全由显示微型端口驱动程序控制。 例如,假设展示适配器有两个视频输出编解码器,并且 VidPN 管理器要求显示微型端口驱动程序实现下图所示的拓扑。

下图显示了显示微型端口驱动程序将视频输出编解码器分配给视频呈现源的一种方法。

请注意,上图中的克隆视图 (HD15、S-video) 由单个 CRTC 处理。 现在假设不再要求连接到 CRTC1 的 HD15 输出。 然后,显示微型端口驱动程序行借助配置视频输出编解码器来构建克隆视图,如下图所示:

与使用一个 CRTC 达成克隆视图不同,采用两个 CRTC 达成克隆视图具有一些优势。 例如,对于两个 CRTC,HD15 和 S 视频输出可以具有不同的分辨率和刷新率。

重要的是,VidPN 管理器永远不知道显示适配器上的视频输出编解码器如何分配给视频存在的源和目标。 VidPN 管理器仅知道源和目标之间的关联。 仅显现微型端口驱动程序才知道涉及视频输出编解码器的基础复合关联。

http://www.rkmt.cn/news/8938.html

相关文章:

  • 一类特征方程在数列递推中的应用
  • 深入解析:GC 算法的种类及垃圾收集器
  • rust跨文件调用代码
  • 深入解析:深度学习从入门到精通 - AutoML与神经网络搜索(NAS):自动化模型设计未来
  • 个人项目-文本查重
  • 深入解析:[数据结构] LinkedList
  • 数字图像基础知识
  • 设置Redis在CentOS7上的自启动配置
  • 挂载配置文件以Docker启动Redis服务
  • ​​Final Cut Pro 11.0 for Mac 剪视频安装教程|DMG文件安装步骤详解​(附安装包)
  • 实用指南:物联网赋能24H共享书屋:智能化借阅管理的完整解决方案!
  • 准备工作之动态内存分配[基于郝斌课程]
  • 2025.6第一套六级听力生词
  • CSP-S 2025游记
  • atof() - 字符串转double类型
  • 深入解析:解密llama.cpp:从Prompt到Response的完整技术流程剖析
  • 详细介绍:深圳比斯特|电池组PACK自动化生产线厂家概述
  • 密码学学习记录(三)
  • 知行合一
  • 深入解析:解锁AI智能体:上下文工程如何成为架构落地的“魔法钥匙”
  • 小狼毫雾凇拼音安装部署
  • Linux 内核VRF
  • 使用FFmpeg转换m4a
  • 提升多屏监控体验/新增辅屏预览功能/轻松实现跨屏实时监控/支持高达500路多个屏幕同时显示
  • [Java SE/文件系统/IO] 核心源码精讲:java.io.File
  • 【ROS2】 忽略局域网多机通信导致数据接收的bug - 教程
  • 在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境
  • 重新理解12306:它卖的从来不是“库存”,而是“状态”
  • 基于Python+Vue开发的房产销售管理系统源码+运行步骤
  • WinSCP从Windows传文件到Linux,文件名为中文显示乱码