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

window显示驱动开发—为头装载和专用监视器生成自定义合成器应用(二)

显示相关的 API 的比较

API用途和目标受众
DisplayInformation用于检索 CoreWindow 的呈现和布局属性。
HdmiDisplayInformation用于枚举和设置受限模式集的仅限 Xbox 的 API。 高度专用于 Xbox 媒体应用方案。
DisplayMonitor用于查询物理监视器设备的属性。 不公开有关操作系统配置或当前使用监视器的方式的任何运行时信息。
EnumDisplayDevices、 EnumDisplayMonitors、 EnumDisplaySettingsEx用于查询 HMONITOR、GDI 设备和物理监视器映射的旧 Win32 API。 此处返回的信息经过高度虚拟化和维护,以实现应用程序兼容性。
Direct3D用于将像素内容呈现到 GPU 图面,并在 GPU 上执行计算。
DXGI 交换链用于窗口化和无边框的全屏演示文稿。 应用交换链内容流经系统合成器 DWM。
DXGI 输出枚举提供 HMONITOR 周围的 DXGI 包装器。
QueryDisplayConfig、SetDisplayConfig、DisplayConfigGetDeviceInfo、DisplayConfigSetDeviceInfo用于配置显示拓扑的 Win32 API。 不提供枚举多个模式的机制,但提供了有关当前配置和设置的丰富信息集。 但是,并非所有较新的模式属性都由这些 API 公开。
Windows.Devices.Display.Core (本文档)用于枚举目标、枚举模式、配置模式、分配用于演示的 GPU 图面以及显示要显示的内容。

显示配置概述

物理硬件枚举
Windows.Devices.Display.Core API 具有各种对象来表示物理硬件对象。 DisplayAdapter 通常是物理硬件设备,例如 PCI Express 连接的 GPU 或 CPU 上的集成 GPU。 DisplayTarget 对象表示可从 GPU 连接到的物理连接器(例如 HDMI、VGA、DisplayPort 等)。 这可能包括具有内部监视器(笔记本电脑、平板电脑等)的设备的内部非用户可见连接。 软件中可能 有更多的 DisplayTarget 对象,而用户一次可以物理连接。 例如,由于 DisplayPort 连接标准允许菊花链接,因此 GPU 驱动程序通常会为每个物理端口枚举多个 DisplayPort 目标,以便考虑链接的监视器。

用于设置模式的对象

对于枚举 DisplayTarget 对象、设置和查询模式等,使用 DisplayPath 对象表示与 DisplayTarget 对象的连接。 显示相同内容(克隆组)的路径组由 DisplayView 表示,这些路径聚合为 DisplayState。 因此,一个 DisplayState 对象可以表示一组完整的模式状态,这些状态可以发送到多个监视器的驱动程序。

已知限制

Windows.Devices.Display.Core API 有几个已知限制(从 Windows 10 版本 2004 起):

  • 目前无法解决间接显示驱动程序(例如 Miracast、USB 显示器适配器、软件驱动程序)。 传递间接显示适配器时,DisplayManager.CreateDisplayDevice 将失败。

示例代码

 


文章转载自:

http://6UQew4iQ.Lktjj.cn
http://anQc5hkA.Lktjj.cn
http://VwFuhvCj.Lktjj.cn
http://RdFFyjiZ.Lktjj.cn
http://xDKo2Ffp.Lktjj.cn
http://8W5eolOv.Lktjj.cn
http://zsYdOzFL.Lktjj.cn
http://wqVNayPM.Lktjj.cn
http://qB7MA8dI.Lktjj.cn
http://LpeqXwGB.Lktjj.cn
http://Imb8xSUy.Lktjj.cn
http://n7AYtke4.Lktjj.cn
http://muFdpwp2.Lktjj.cn
http://G4Mb2sBi.Lktjj.cn
http://dgFi5lE1.Lktjj.cn
http://NRrabRg3.Lktjj.cn
http://N4sUTKff.Lktjj.cn
http://ehnRyCHL.Lktjj.cn
http://xPzLksND.Lktjj.cn
http://GgoLKCAK.Lktjj.cn
http://Mo7ZJPNv.Lktjj.cn
http://6GSsS7Tv.Lktjj.cn
http://7r4fx0j0.Lktjj.cn
http://fDLOygkO.Lktjj.cn
http://00ouGgbF.Lktjj.cn
http://6liU4ezb.Lktjj.cn
http://flupu8q8.Lktjj.cn
http://6TiPmCUV.Lktjj.cn
http://cR4f8jG8.Lktjj.cn
http://hjqWgugd.Lktjj.cn
http://www.dtcms.com/a/378531.html

相关文章:

  • [K8S学习笔记] Service和Ingress的关系
  • YOLO11实战 第018期-基于yolo11的水果甜瓜目标检测实战文档(详细教程)
  • 【已解决】mongoose在mongodb中添加数据,数据库默认复数问题
  • 借助自动化GPO报表增强AD域安全性
  • decentralized英文单词学习
  • 响应式布局
  • Vue基础知识-Vue集成 Element UI全量引入与按需引入
  • 《UE5_C++多人TPS完整教程》学习笔记52 ——《P53 FABRIK 算法(FABRIK IK)》
  • 网络编程套接字(UDP)
  • Git子模块(Submodule)合并冲突的原理与解决方案
  • 谷粒商城项目-P16快速开发-人人开源搭建后台管理系统
  • 记一次nginx服务器安全防护实战之“恶意目录探测攻击”防护
  • 突破多模态极限!InstructBLIP携指令微调革新视觉语言模型,X-InstructBLIP实现跨模态推理新高度
  • 如何在实际应用中平衡YOLOv12的算力需求和检测精度?
  • MySQL 主键约束:表的 “身份证”,数据完整性的核心保障
  • 分布式事务性能优化:从故障现场到方案落地的实战手记(二)
  • 本地生活服务平台创新模式观察:积分体系如何重塑消费生态?
  • 内存传输速率MT/s
  • ThinkPHP8学习篇(六):数据库(二)
  • Synchronized原理解析
  • Cesium深入浅出之shadertoy篇
  • LoRaWAN网关支持双NS的场景有哪些?
  • BigVGAN:探索 NVIDIA 最新通用神经声码器的前沿
  • SpringTask和XXL-job概述
  • 软考系统架构设计师之软件维护篇
  • 从CTF题目深入变量覆盖漏洞:extract()与parse_str()的陷阱与防御
  • 第五章:Python 数据结构:列表、元组与字典(二)
  • Flow Matching Guide and Code(3)
  • 内存泄漏一些事
  • 嵌入式学习day47-硬件-imx6ul-LED、Beep