1.Direct2D是什么?

Direct2D是一套高性能的硬件加速API(代码运行在GPU),用于渲染几何图形,图片和文本,并且可以与Direct3D,GDI,GDI+交互。

简而言之是一个2D图形API,可以提供高性能,高质量的2D渲染。在过去,3D世界是OpenGL与DirectX二分天下,但是由于OpenGL发展十分滞后,而且没有一个像微软这样强大的后台支柱,所以逐渐被DirectX所超越。回过头来说2D,过去Windows上的2D程序还主要基于GDI和GDI+,遗憾的是这两者都是软件实现,而Direct2D则不同,它基于Direct3D,所以能够使用硬件加速(通俗的理解:

硬件加速是用显卡的GPU解码视频,几乎不占用CPU,在播放高清视频时如果你的CPU不给力就会卡,不卡也会占用率很高,开启硬件加速就是让显卡分担了CPU的解码工作,所以你可以再开别的程序也不会卡

)功能,能更大程度的发挥硬件特性,创建高性能,高质量的2D图形,这些图形包括几何图形,如矩形,椭圆等。还有位图,文本。而且更方便的是,Direct2D与GDI,GDI+和D3D都是可以交互的。

2Direct2D使用人员:

Direct2D 主要供以下几类开发人员使用:

  • 大型企业级本机应用程序开发人员。
  • 创建供下游开发人员使用的控件工具包和库的开发人员。
  • 需要对二维图形进行服务器端呈现的开发人员。
  • 使用 Direct3D 图形,并且需要在菜单、用户界面 (UI) 元素和抬头显示器 (HUD) 中使用高性能的简单二维和文本呈现的开发人员。

3D2D的架构:

Direct2D是基于Direct3D 10.1 API构建的,由上图可以看出,Direct2D还自带了一个软件实现(Software rasterizer),这是因为如果显卡不支持硬件加速,那么Direct2D可以使用软件方式渲染,即使这样,效果还是要优于GDI的。上图中在Direct3D下面还有一个层叫DXGI,其全称是:DirectX Graphics(图像,图形) Infrastructure(基础设施),DXGI从Direct3D 10中才开始存在,主要是为了将一些与3D图形无关的工作从原本的runtime中分离处理,这些工作多是一些底层的操作,比如枚举设备,显示帧缓冲,gamma控制,管理全屏等,在Direct3D 10以前的版本中,这些操作全部集成到了Direct3D的API中,现在分离处理单独成为一个component,就是DXGI。
补:  什么是runtime:runtime就是程序运行时的状态还有一个compiletime,就是编译时代状态程序设计中要避免runtime的错误,compiletime的错误由编译器检测。
运行时rumtime就是程序运行的时候。运行时库就是程序运行的时候所需要依赖的库。运行的时候指的是指令加载到内存并由CPU执行的时候。C代码编译成可执行文件的时候,指令没有被CPU执行,这个时候算是编译时,就是编译的时候。
4交互性

D2D如果要输出文字,可以使用是DirectWrite。
如果要输出图片,可以使用WIC(Windows Image Compennet)。
几何图形自己可以直接输出。

												

Direct2D简介(原ZDD)相关推荐

  1. Direct2D 简介

    Direct2D是什么? Direct2D是一套高性能的硬件加速API(代码运行在GPU),用于渲染几何图形,图片和文本,并且可以与Direct3D,GDI,GDI+交互. 什么程序员应该使用Dire ...

  2. Direct2D简介

    Direct2D是一套高性能.高质量的2D图形渲染接口,它的出现主要是为了满足以下的开发: 1 大型的企业级本地应用开发 2 控件库或者是控件工具包开发人员 3 服务端2D图形渲染 4 在D3D中进行 ...

  3. DataService工作室简介(原诚信代做设计)

    本团队成员均为南京大学.东南大学硕士,相关专业有通信.电子.计算机.数学等,两年来本团队总共完成大大小小近百余工程. 欢迎广大致力于科研的有志之士前来咨询,探讨,愿我们能助您心想事成.马到成功,在您科 ...

  4. Direct2D教程II——绘制基本图形和线型(StrokeStyle)的设置详解

    目前,在博客园上,相对写得比较好的两个关于Direct2D的教程系列,分别是万一的Direct2D系列和zdd的Direct2D系列.有兴趣的网友可以去看看.本系列也是介绍Direct2D的教程,是基 ...

  5. 原码、反码、补码的运算 【2分钟掌握】

    最近在学计算机组成原理,又遇到了原码.反码.补码的运算. 就整理了运算规则,方便以后复看,减少时间浪费. 简介 原码:符号位 + 数值位 反码:反码是原码和补码之间转化的工具,是个桥梁作用. 补码:补 ...

  6. dx绘制2d图像_Direct2D教程II——绘制基本图形和线型(StrokeStyle)的设置详解

    目前,在博客园上,相对写得比较好的两个关于Direct2D的教程系列,分别是万一的Direct2D系列和zdd的Direct2D系列.有兴趣的网友可以去看看.本系列也是介绍Direct2D的教程,是基 ...

  7. 资源丨机器学习进阶路上不可错过的28个视频

    想自学机器学习和深度学习?不妨边看专家讲解视频边自学.不仅能感受世界各地专家的熏陶,也能快速获取知识,一举两得.这篇文章整理了一个 YouTube 视频列表,供希望在该领域学习的朋友使用. 视频观看建 ...

  8. Hadoop 新 MapReduce 框架 Yarn 详解

    Hadoop MapReduceV2(Yarn) 框架简介 原 Hadoop MapReduce 框架的问题 对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储 ...

  9. 总结一下qsort()函数的使用与注意

      一.简介   原 型: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *)); ...

最新文章

  1. 连这几个源码都没啃透,那面试高级开发的事等等再来!
  2. 共享经济时代,中小企业该如何逆风翻盘?
  3. 右脑编程法--左脑是基础(4)之语言篇
  4. leetcode 162. Find Peak Element | 162. 寻找峰值(二分法找局部最大值)
  5. oracle中特殊字符处理
  6. 数组模拟加法(每日一练 11.30)
  7. Oracle CRS/ASM/RAC版本兼容对应表
  8. echarts中国地图,设置地图外边框,内各省界线不同样式
  9. 2019 Multi-University Training Contest 3 题解
  10. 用免费建站系统做一个专业的企业网站才靠谱!
  11. 串口线插入window10,设备管理器无端口选项
  12. MAC地址中的“O”和“0”怎么区别?命令行黑窗口界面的“O”和“0”怎么区别?
  13. Android——百度APIstore+Json——获取新闻频道+新闻数据
  14. 熵(entropy)的定义
  15. 实现DevSecOps正确左移的宣言
  16. 迅雷看看(http://kankan.xunlei.com/)
  17. Windows 技术篇-重装电脑系统后搜不到蓝牙设备问题,电脑连接蓝牙不成功原因及解决办法
  18. 2009.5.9 GYMUN
  19. php中的mysql1366错误_MySQL 错误 1366:1366 Incorrect integer value
  20. win10无线网卡共享网络给有线网卡再共享给其他电脑

热门文章

  1. 开始我的第一个游戏引擎制作
  2. ubuntu防火墙常用命令
  3. XnView查看图片实际大小
  4. SpringBoot+Vue车辆充电桩系统设计与实现
  5. React 基础案例 | 提醒列表和旅游清单列表(一)
  6. java文件中查找字符串_Java 在本地文件中查找固定字符串
  7. SQL Server 删除表及删除表中数据的方法
  8. 如何彻底禁止win10家庭版系统自动更新-2021跟新
  9. 信游科技网页游戏运营网页游戏数据报告
  10. 高通modem博文汇总