- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows7 的图形架构与 DX 的那点事
Posted on 2010-09-03 09:07 竹印 阅读(288) 评论 (3) 编辑 收藏 所属分类: 图形
最近看了一些关 GDI/GDI+/D2D/D3D 的东东,看到几篇不错的文章,分享一下。
一:
原文链接 : 2D Drawing APIs in Windows
在 Windows 7 操作系统中,微软花费了很大的力气构建了一套新的 2D 绘图 API 。我
们称之为 Direct2D ,隶属于 DirectX 家族。这个 API 的开发填补了 Windows 图形平台的
一些缺陷。其中非常重要的一点就是普通的 2D 程序渲染不再缺乏硬件加速。而在
Windows Vista 中,我们知道 GDI 是无法进行硬件加速的。微软寄望于开发的这个 API 具
备很多现代特性。比如支持抗锯齿和 Alpha Blend 的 2D 渲染,和其它现代图形 API 交互,
服务器端渲染,诸如此类。
为了方便理解微软为何开发 Direct2D ,我们先来回顾一下当初开发 Windows 时的历史。
最初的渲染系统叫做 GDI ( 图形设备接口) ,今天仍然存在。它最初为 16 位 Windows 写就,
随后升级到 32 位 Windows (Windows 95 和 Windows NT) 。因为 GDI 是为很久以前那些计
算能力低下的计算机而开发的,所以它并没有诸如抗锯齿之类的特性,大多数 API 亦不支
持 Alpha 通道。
在 Windows 95 期间,DirectX 发布了第一版。DirectDraw 是其中最早的组件之一。当
初的本意是在硬件加速启用的情况下,开发人员可以绕过 WinG 允许,直接访问硬件。这样
的一个协议堆栈既可以和 GDI 协作,但是又真正处在同一地位。
随着图形硬件(显卡)演进,GDI 通过 DDI (设备驱动接口) 获得了硬件加速的能力。很多
视频卡实现了这些 DDI ,而通过购买一块视频卡来改善你的 Windows 性能亦成为平常之事。
接下来,Direct3D 进驻到 DirectX 2 中,当然它也创建了自己的 DDI 集。随之,视频卡开
始投入越来越多的精力来使得 3D 图形越来越快,以便维持游戏市场巨大的需求。最后导致
诞生了两个不同的领域 : 硬件加速和图形编程。前者围绕于 Direct3D 构建,后者则围绕
GDI 。
Direct3D 和 GDI 构建于不同 目标,不同位置的事实意味着它们并不能像人们期望的那
样能够良好的工作在一起。虽然实现了不少像 GetDC 这样的帮助桥接特性,但是在大量交
叉渲染的场景下它们总是存在着或这或那的一些问题。尽 如此,微软并没有移除这些待解
决的场景需求。
到了世纪之交,GDI 的限制越来越显现。微软针对这些功能缺陷做了一个 GDI 扩展,
即 GDI+ 。这些扩展提供了诸如位图操作,画笔,抗锯齿和越来越复杂的 Primitive 渲染中
不同像素深度格式,Alpha Blend 的支持。同时,GDI+ 亦包括了诸如打开 Png 和 Jpg 格式
文件的图像操作支持。然而,GDI+ 新增的全部操作都没有硬件加速支持。
GDI+ 在托管世界中非常流行,这主要得力于它是 System.Windows.Drawing 命名空间的
主力。每一个客户自定义渲染的非常漂亮的 Windows Form 程序都使用 GDI+ 来当此大任。
但是,构建于 GDI 之上的 GDI+ 同样继承了与 Direct3D 交互的所有问题。事实上,因为它
总是软渲染,在某些场景下,它会变得更糟。
当时间走到计划研发 Windows 7 时,很明显,微软需要解决很多互操作性的不足,以
及不平衡的硬件加速能力。保留现有的 API 且要达到上述目的是相当困难的事情。GDI 有
很长的历史,这需要应付海量的应用程序兼容性问题。如果要把 Alpha Blend 支持(举例) 弄
进 GDI 核心 API 集合,而且还不得罪现有的客户无异于天方夜谭。因为 GDI+ 构建
GDI 之上,旧有的陋习同样让它获得硬件加速能力变得难以实现 (文中说的GDI 没有实现
硬件加速是指在 Win7 之前,Win7 已经实现。)。
解决方案就是创建新的 API 来囊括我们想要的功能和处理互操作性问题。MIL 代码
(WPF 处理渲染的原生组件)是一个很方便的起点。它有着我们想要的
您可能关注的文档
- 玻璃石材幕墙施工方案.docx
- 台风灾害的经济影响和其防御系统建设_以台风_莫拉克_为例.kdh.pdf
- 地面及楼面工程施工及验收规范.pdf
- 国外石材地面与墙面的铺装_之十三_.pdf
- 管道工程03建设内部排水系统.ppt
- C程序设计基础基本数据类型.ppt
- Office高级应用大作业.docx
- 定位轴线和其编号.docx
- 天津美食探店,一家可以让你吃个痛快牛排自助餐厅.pdf
- 道通置业公司工艺质量控制汇报资料.ppt
- 第9课 两宋的政治和军事 课件-高一上学期统编版(2019)必修中外历史纲要上 (2).pptx
- 1.1《子路、曾晳、冉有、公西华侍坐》课件 高一语文课件(统编版必修下册).pptx
- 第27讲 服务业区位因素及其变化(课件)高考地理一轮复习(新高考通用).pptx
- 古诗词诵读《燕歌行(并序)》课件 统编版高中语文选择性必修中册(1).pptx
- 7.《包身工》(课件)高二语文(统编版 选择性必修中册).pptx
- 专题06 几何图形初步 七年级数学上学期期末考点(人教版2024).pptx
- 6.3.3 余角和补角(课件)七年级数学上册(人教版2024).pptx
- 第1课我国的生产资料所有制 课件-新高考政治一轮复习必修二《经济与社会》课件.pptx
- 专题八 考点2 探究世界的本质(课件)高考政治一轮复习专题课件(新高考通用).pptx
- 6.3测量固体和液体的质量 -人教版2024八年级上册物理.pptx
最近下载
- 司炉工考试题库及答案.doc VIP
- GB∕T 7190.1-2018 机械通风冷却塔 第1部分:中小型开式冷却塔.pdf
- 2021年电子政务概论课程形成性考核册答案.doc VIP
- 4教学设计(骨折固定2学时).doc VIP
- 新统计法培训课件.pptx VIP
- 信息安全技术信息系统安全等级保护实施指南.pdf VIP
- “红旗杯”竞赛总题库-1班组长环境安全健康管理能力考试题库(附答案).docx VIP
- 2025年二季度党支部书记作风建设专题党课廉政党课:扎实开展作风建设学习教育持续推动作风建设走深走实.docx VIP
- 质量管理体系与措施.docx VIP
- 第二章放射性核素制备.ppt VIP
文档评论(0)