一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;

Draw Call

简单的说来,就是CPU调用图像编程接口,如OpenGL中的glDrawElements命令或者DirectX中的DrawIndexedPrimitive命令,以命令GPU进行渲染的操作;

Draw Call中造成性能的原因一般是CPU方面的原因;原因是每次调用Draw Call之前,CPU需要向GPU发送很多内容,包括数据、状态和命令等;在这一阶段,CPU需要完成很多工作,例如检查渲染状态等;而一旦CPU完成了这些准备工作,GPU就可以开始本次的渲染;GPU渲染能力很强,渲染200个或者2000个三角面通常没什么区别,如果Draw Call数量太多,CPU就会把大量时间花费在提交Draw Call上,造成CPU的过载;

要尽量减少Draw Call,可以使用批处理的思想,也就是把很多小的Draw Call合并成一个大的Draw Call;合并处理更适合那些静态的物体,如不会移动的物件等,这些静态物体只需要合并一次;也可以对动态物体进行合并,但由于其是不断运动的,所以每一帧都需要重新进行合并然后再发送给GPU,这对时间和空间都会造成一定影响;


Graphics - Draw Call相关推荐

  1. java graphics dispose_java图形处理-Java Graphics2D

    java.awt 类 Graphics2D java.lang.Object 继承者 java.awt.Graphics 继承者 java.awt.Graphics2D public abstract ...

  2. drawimage的用法 java_Java Graphics.drawImage方法代码示例

    本文整理汇总了Java中javax.microedition.lcdui.Graphics.drawImage方法的典型用法代码示例.如果您正苦于以下问题:Java Graphics.drawImag ...

  3. 2020年,大火的Python和JavaScript是否会被取而代之?

    作者 | Richard Kenneth Eng 译者 | 明明如月,编辑 | 郭芮 来源 | CSDN(ID:CSDNnews) Python 和 JavaScript 是目前最火的两大编程语言.然 ...

  4. Bitmap使用PictureBox后提示Bitmap占用

    问题:Bitmap被占用 原因:如果直接把图片bitmap放在了PictureBox里,会出现图像一直被占用,这时候再去对bitmap进行一些操作,就不行了,比如获取图像的width和height 解 ...

  5. GDI+编程说明及小结

    原文地址:http://blog.csdn.net/byxdaz/article/details/5972759 GDI+(Graphics Device Interface Plus图形设备接口加) ...

  6. love2d--glsl03噪声

    由于一些glsl的教程都是3d的,而love是2d的,所以之后以示例为主,我会收集 一些love的shader,分类讲解. 此文简译自love2d社区博客,这里略去作者的自我介绍. 像素着色器入门 示 ...

  7. 游戏开发模式一:组件模式(Component)

    软件设计模式告诉我们,程序中不同的领域要保持隔离,也就是解耦.所以,我们不希望AI,物理引擎,渲染引擎,声音引擎,还有其他的事情影响到彼此,不能把他们放到同一个类里. 下面是一个反例: if (col ...

  8. GDI+中发生一般性错误的解决办法 from http://www.cnblogs.com/winzheng/archive/2008/12/23/1360440.html...

    GDI+中发生一般性错误的解决办法 这个错误经常发生,代码如下:    private  static  byte[] GetBytes (Image image)         {         ...

  9. love2d教程30--文件系统

    在游戏里少不了文件操作,在love2d里我们可以直接用lua自带的io函数,如果不熟悉可以先读一下我的lua文件读写. 相对lua,love2d提供了更多的函数, 方便我们操作文件.不过可能处于安全考 ...

最新文章

  1. 页面与ViewModel(上)
  2. DHCP在企业网中的应用
  3. LNMP架构之PHP——MemCache对PHP页面的缓存加速优化
  4. AppStore IPv6-only审核被拒原因分析及解决方案-b
  5. web开发中的缓存问题的研究(一)
  6. Android7.1选择时区由默认的GMT+00:00改为GMT+08:00中国标准时间
  7. java多数做增删改查_Java 实现一个 能够 进行简单的增删改查的 超市管理系统
  8. ST17H26之pwm功能
  9. (转)Java中的private、protected、public和default的区别
  10. ios runloop学习
  11. 你不知道的Node.js性能优化,读了之后水平直线上升
  12. opengl加载显示3D模型3d类型文件
  13. 来,和腾讯一起共建未来城市
  14. 编程类-----matlab基础语法复习(1)
  15. oracle安装必要的,CentOSOracle安装必要的软件创建数据库
  16. 天猫方糖 篇一:新版天猫放糖改造立体声
  17. Assembly.Load,LoadFile,LoadFrom
  18. 关于 HDFS Append
  19. 前端 new实例后销毁实例_干货|仪器设备检定校准后的确认(实例)
  20. SVN服务器使用(一)

热门文章

  1. openocd+telnet调试
  2. Python字符串类型及操作
  3. 常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位
  4. matlab 凹包,二维点集凹包算法介绍
  5. 毕业的那一年,失去了母亲
  6. java一行代码输出数组内容
  7. 7月第1周榜单丨哔哩哔哩B站UP主排行榜发布!
  8. c语言2级考试知识点ppt,计算机一级考试历年常见考点总结:PPT演示文稿
  9. 20179311《网络攻防实践》第八周作业
  10. 我私藏的4个宝藏软件,小众又好用