首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

理解DXGI
EN

Stack Overflow用户
提问于 2016-12-10 23:19:04
回答 1查看 2.3K关注 0票数 3

MSDN上的DXGI概述表示,DXGI API (10、11和12)位于DXGI的顶部,DXGI位于硬件之上,如下图所示:

本文进一步指出,DXGI的主要任务是枚举适配器并在屏幕上显示图像。现在,如果DirectX位于DXGI之上,那么如何在实际硬件(GPU)上调用所有与数学相关的任务?或者架构概述是错误的,D3D_也直接访问硬件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-26 20:02:39

这个关系图是一个逻辑映射,而不是所有事物实际实现的显式映射。实际上,Direct3D和DXGI更多地是“并排”的,包括用户模式驱动程序(UMD)和内核模式驱动程序(KMD)的层是使用设备驱动程序接口(DDI)与内核模式通信的Windows显示驱动模型(WDDM)。在大多数情况下,Direct3D的不同版本也会被“翻转”,以使用相同的DDI (例如,Direct3D 9,一个Direct3D 10遗留应用程序最终会在可能的情况下通过相同的Direct3D 11代码页)。

由于" DXGI“的意思是"DirectX图形基础设施”,这个图表将DXGI与WDDM和DDI合并在一起。

DXGI的目的是将视频硬件/输出枚举以及交换链创建/表示与Direct3D分离。回到Direct3D 9及之前,这些都是集中在一起的。理论上,DXGI在Direct3D版本之间应该不会有太大的变化,但在实践中,它的发展速度与处理Windows应用程序/通用Windows应用程序的CoreWindow交换链模型的变化基本相同。

许多DXGI API实际上是内部使用的,特别是在处理表面创建时。您需要使用Direct3D API来创建Direct3D资源,而不是直接使用DXGI创建它们,但是您可以在一些地方使用QueryInterface来获得一个DXGI表面,以执行某些操作,比如API面间共享。对于Direct3D 11.1或更高版本,大多数设备共享行为都是自动化的,因此您不必在Direct3D 11中使用DXGI来使用Direct2D/DirectWrite。

,真正的问题是:,为什么它对你很重要?

DirectX图形基础设施:最佳实践Windows图形API之间的表面共享

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41081352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档