DrawCall_draw a drawing

DrawCall_draw a drawing关于unity优化,DrawCall肯定占了比较重要的一部分,下面我们就简单了解一下什么是Drawcall。什么是DrawCall?在电脑运行层面理解:rawcall是CPU对底层图形绘制接口的调用命令GPU执行渲染操作,渲染流程采用流水线实现,CPU和GPU并行工作,它们之间通过命令缓冲区连接,CPU向其中发送渲染命令,GPU接收并执行对应的渲染命令。这里drawcall影响绘制的原因主要是因为每次绘制时,CPU都需要调用drawcall而每个drawcall都需要很多准备工作,检测渲染状态、提交

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

关于unity优化,DrawCall肯定占了比较重要的一部分,下面我们就简单了解一下什么是Drawcall。

什么是DrawCall?

在电脑运行层面理解:Drawcall是CPU对底层图形绘制接口的调用命令GPU执行渲染操作,渲染流程采用流水线实现,CPU和GPU并行工作,它们之间通过命令缓冲区连接,CPU向其中发送渲染命令,GPU接收并执行对应的渲染命令。
这里drawcall影响绘制的原因主要是因为每次绘制时,CPU都需要调用drawcall而每个drawcall都需要很多准备工作,检测渲染状态、提交渲染数据、提交渲染状态。而GPU本身具有很强大的计算能力,可以很快就处理完渲染任务
在unity运行层面:,每次CPU准备数据并通知GPU的过程就称之为一个DrawCall。
具体过程就是:设置颜色–>绘图方式–>顶点坐标–>绘制–>结束,所以在绘制过程中,如果能在一次DrawCall完成所有绘制就会大大提高运行效率,进而达到优化的目的。

DrawCall过多会怎样?

如果Draw Call的数量太多,CPU就会把大量时间花费在提交Draw Call 上,造成CPU的过载。

如何减少DrawCall?

核心思想:还是运用批处理的方法吧,尽量把小的DrawCall合并到一个大的DrawCall中
(1)避免使用大量很小的网格。当不可避免的需要使用很小的网格结构时,考虑是否可以合并它们。

(2)避免使用过多的材质。尽量在不同的网格之间共用同一个材质。
(3)合并本身有消耗,因此尽量在编辑器下进行合并。

总结

用了很长时间的drawcall也没有仔细分析过,今天又听到了有人聊关于drawcall的知识借此巩固一下,自己懒得码字观看借用了很多关于两位大神关于drawcall的分析,这里附上原文链接:
原文链接:https://blog.csdn.net/yu1368072332/article/details/85676537
原文链接:https://blog.csdn.net/srk19960903/article/details/73457321

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191937.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月22日 下午2:15
下一篇 2026年1月22日 下午2:43


相关推荐

  • 二进制、八进制、十进制、十六进制关系及转换[通俗易懂]

    二进制、八进制、十进制、十六进制关系及转换[通俗易懂]二进制,八进制,十进制,十六进制之间的关系是什么?浮点数是什么回事?本文内容参考自王达老师的《深入理解计算机网络》一书<中国水利水电出版社>一、数制解释:1、编程中经常使用的数制分类(“你编程时能使用的数制全部在这里了”):⑴、十进制十进制是我们生活中使用得最频繁的进制了。十进制的基数是10,也就是说,十进制有10个数字符

    2022年10月17日
    7
  • 指针函数与函数指针的用法与区别

    指针函数与函数指针的用法与区别一 区别 1 指针函数 指的就是返回值是指针的函数 本质就是个函数 2 函数指针 指的是指向函数的指针变量 本质就是个指针 二 用法 1 指针函数 int func inta intb 普通函数就是 intfunc inta intb 返回值是 int 而指针函数就是返回值是指针的函数 即返回值是 int 2 函数指针 int func intx inty 这里

    2025年6月19日
    3
  • centos下搭建open_nsfw

    centos下搭建open_nsfw服务器 yum 源为阿里源 opennsfw 是雅虎开源的一款开源的黄图识别的模型 nsfw 翻译为不可在工作中看的图片 主要是针对黄图的 恐怖 血腥图片不能识别 在 centos7 2 搭建 opennsfw 的环境 1 安装依赖 sudoyum yinstallprot develleveldb develsnappy developencv develboost devel

    2026年3月18日
    2
  • linux socket udp编程_linux网络编程socket

    linux socket udp编程_linux网络编程socket浅谈UDP。UDP是一种不可靠的、无连接的、数据报服务。发送端应用程序每执行一次写操作,UDP模块就将其封装成一个UDP数据报发送。接收端必须及时针对每一个UDP数据报执行读操作,否则就会丢包。并且,如果用户没有指定足够的应用程序缓冲区来读取UDP数据,则UDP数据将被截断。因此,采用UDP协议时必须要求接收端可以一次性收取完发送端一次发送的数据,不然就会造成数据丢失。2.客户端3.输出结果UDP是一种无连接的传输方式,所以可以多个客户端同时发送。服务器端关闭立马重启,客户

    2025年10月3日
    4
  • java SPI机制的使用及原理

    java SPI机制的使用及原理

    2021年8月3日
    58
  • Windows下dos中 copy命令的实现

    Windows下dos中 copy命令的实现实现的的功能:复制文件功能一:功能分析1.1windows系统下的dos命令中指令copy能实现文件的复制。比如:copylog.txtlog1.txt就是将log.txt文件复制一份,复制后的文件名称为log1.txt图例:1.2copy命令实现要求:自己创造一个命令,比如:test.exelog.txttest.bak有三个参数,第一个参…

    2022年7月18日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号