图形API可以分为retained-mode APIs(保存模式API)和immediate-mode APIs(中间模式API). Direct2D是immediate-mode API,而Windows Presentation Foundation(WPF)是retained-mode API.

Retained-mode API:

用户程序使用图元(基本几何图形)构造一个场景,如某形状,直线等。。图形库保存一个场景模型在内存中。要画一帧图形,图形库把场景转换成为一系列的画图命令,在帧与帧之间,图形卡保存场景数据在内存中。要改变图形,程序发出命令更新场景。图形库负责重画场景。

一个immediate-mode API是过程式的。每次更新一个帧,程序直接发出画图命令。帧与帧之间,图形卡不存储场景模型,而是由程序控制场景变化。

Retained-mode APIS使用起来更加简单,因为API自动做了更多的工作,如初始化,状态管理,和消耗对象等。但是就没有那么多灵活性。而且要求更多内存。

immediate-mode API灵活性高,可以针对场景进行优化。

Reference: MSDN

转载于:https://www.cnblogs.com/yiyide266/p/9390759.html

[图形]图形API的两种模式相关推荐

  1. ebc是什么意思_UEFI+GPT和Legacy+MBR两种模式安装的系统有什么区别

    UEFI+GPT和Legacy+MBR两种模式安装的系统有什么区别?很多电脑小白都搞不懂UEFI.GPT.BIOS.MBR到底是什么意思,下面跟随小白系统一起深入了解下UEFI+GPT和Legacy+ ...

  2. hash和history两种模式的区别+SpringBoot的特定配置

    今天学习到vue-router有两种模式,一种是hash,一种是history模式 这两种模式对于后端来说有点区别 1,hash模式 这个模式是链接后拼接/#/这样的形式,在实际请求时并不加入#后面的 ...

  3. “约见”面试官系列之常见面试题之第一百零二篇之vue-router的两种模式(建议收藏)

    众所周知,vue-router有两种模式,hash模式和history模式,这里来谈谈两者的区别. hash模式 hash模式背后的原理是onhashchange事件,可以在window对象上监听这个 ...

  4. Spark Streaming 对比 Structured Streaming(及其内部的两种模式 MicroBatch Streaming VS Continous Streaming)

    一 前言 最近在看 Structured Streaming,先出个简单对比图,Spark Streaming VS Structured Streaming 以及 Structured Stream ...

  5. 微信支付的两种模式,扫码支付

    微信支付 微信支付的两种模式 1:由微信生成二维码,客户扫描二维码后,确认支付,微信回调给当前系统. 2:由系统调用统一下单API,取得预支付交易信息后,根据信息生成二维码,然后后台循环查询订单API ...

  6. vue路由之路由的两种模式

    文章目录 简介 hash路由 history模式 两种模式的比较 history存在的问题 专栏目录请点击 简介 一般路由分两种形式 一种是哈希路由,最明显的特征就是路由中有一个# 还有一种就是his ...

  7. vue-router前端路由的两种模式的区别

    一.前端路由存在的意义 前端路由主要应用在spa项目中. 核心---在无刷新(不向后端发送请求)的情况下,可以根据不同url更改视图. 二.浏览器提供hash 和history 两种模式支持(可以说, ...

  8. Kafuka面试(整合Kafka两种模式区别)

    整合Kafka两种模式说明 ★面试题:Receiver & Direct 开发中我们经常会利用SparkStreaming实时地读取kafka中的数据然后进行处理,在spark1.3版本后,k ...

  9. vue路由的两种模式:hash与history的区别

    前言:众所周知,vue-router有两种模式,hash模式和history模式,下面来看看两者的区别. 一.基本情况 直观区别:hash模式url带#号,history模式不带#号. 1.hash模 ...

最新文章

  1. Arithmetic
  2. [铁道部信息化管理]号外
  3. git的操作说明超详细
  4. Anaconda:成功解决利用conda下载pytorch和torchvision时速度超慢的问题
  5. WinCE驱动的动态加载
  6. 无界瀑布屏惊艳亮相!5G水桶机vivo NEX 3正式发布
  7. (后端)SpringMVC提交数组时不能超过256个值(转)
  8. 剑指Offer_47_求1+2+3+...+n
  9. Mock Serverj
  10. 这行简单的网址可令Chrome立马崩溃
  11. MyBatis框架(6)动态sql
  12. ​学习C语言的知识点整理
  13. matlab软件安装码,Matlab2017a软件安装包以及安装教程
  14. chrome-功能指令
  15. 2.2 法力池的创建和视觉特效———自制卡牌游戏之旅
  16. vue使用高德地图为信息窗体再添加点击事件
  17. Leetcode 881:救生艇
  18. MPLS 配置LDP本地会话实验 详解
  19. Vue 实现附件上传
  20. 删库跑路!创世人回应了,公司市值暴跌 10 亿始末!

热门文章

  1. 基于Spring Boot的Logback日志轮转配置
  2. py2exe将脚本生成exe可执行文件,不用安装复杂的环境了
  3. Axure RP Pro - 翻译 - Download下载 - Axure RP Pro 5.5.0.1955
  4. 设计模式 试试 ( 事件代理 + factory Method+singleton+Observer)
  5. DIV+CSS—菜鸟分享学习心得!导航篇
  6. 使用devops的团队_DevOps与兼职社区团队兼容吗?
  7. rfc 查看工具_使用技术RFC作为管理工具的6课
  8. 数据加密密钥 分发_分发加密软件可能违反法律
  9. 数据战略规划_在战略规划期间我应该如何协作?
  10. JavaScript的三大高阶函数